我在关系表中将常量值与父表值一起使用时遇到问题。
$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();