Laravel5.4模型关系中的算术运算



我在关系表中将常量值与父表值一起使用时遇到问题。

$cost = 5; 
$product = Product::with(["productPrice" => function($q) use($cost) {
               $q->select("id", "product_id", "price", DB::Raw("(('"+ $cost + "' * product.weight) / product.pack_size) + price as cost"));
           }])->select("id", "sku", "pack_size", "image" ,'weight')->get();

在 Mysql 中,

select product.id, product.sku, product.pack_size, product.image, product.weight, product_price.id as product_price_id, product_price.price,(($cost * product.weight)/product.pack_size) + product_price.price as cost from product join product_price on product.id = product_price.product_id

查询工作就绪,但如何在拉拉维尔模型关系中使用?

我遇到了类似的问题,我暂时使用 DB 外观并使用 DB::raw 插入常量解决了....希望它有帮助...像这样:

 $query= DB::table('product')->
        ->join ('product_price','product.id','=','product_price.product_id')->
        ->select('product.id',
            'product.sku',
            ' product.pack_size',
            'product.image',
            'product.weight',
            'product_price.id as product_price_id',
            DB::raw('($cost * product.weight)/product.pack_size)'),
            'product_price.price as cost from product',
            'product_price.price')
        )->get();

最新更新