Mysql 使用模型中方法with()中的数据来使用自写sql查询Laravel

Mysql 使用模型中方法with()中的数据来使用自写sql查询Laravel,mysql,laravel,eloquent,Mysql,Laravel,Eloquent,我用的是拉威尔6.16 我想在“prod”函数的自编SQL查询中使用从Order和OrderDetail模型接收到的数据,如Order\u detail表中的product\u id 有这样的要求吗 $orders = Order::where('store_id', $store_id) ->where('company_id', $company_id) ->with('order_details.prod')

我用的是拉威尔6.16

我想在“prod”函数的自编SQL查询中使用从
Order
OrderDetail
模型接收到的数据,如Order\u detail表中的product\u id

有这样的要求吗

$orders = Order::where('store_id', $store_id)
               ->where('company_id', $company_id)
               ->with('order_details.prod')
               ->get();
订单模型

protected $fillable = [
    'store_id','company_id', 'site_id', 'status_id'
];

public function order_details($language = null)
{
    return $this->hasMany('App\Models\OrderDetail','order_id','id');
}
OrderDetail模型(我想在其中使用数据)

如果我使用
->with()
方法,如何接收此数据? 可以使用这样的函数吗? 有人能帮忙吗?

。不是那样使用的,看到了吗
protected $fillable = [
    'order_id','product_id','user_id', 'site_id', 'status_id','quantity','price'
];

public  function prod()
{
   /*Some self-written SQL queries example*/
$sql = "SELECT
p.`id`,
p.`manufacturer_id`,
p.`store_id`,
p.`code`,
p.`alternative_code`,
p.`count`,
p.`price`,
p.`old_price`,
pt.`name`,
m.`name` manufacturer_name
    FROM `products` p
LEFT JOIN `product_translations` pt
    ON p.`id` = pt.`product_id`
LEFT JOIN `manufacturers` m
    ON p.`manufacturer_id` = m.`id`
WHERE pt.`language_id` = ?  AND p.`id` = ?";
$queryParams = [$langId];
$queryParams[] = **; 
$products = DB::select($sql, $queryParams);
    return $products;
}