我需要帮助laravel 5(使用Eloquent)
我有2张桌子
模型驱动程序 驱动程序
模型DriverOnline drivers_online
我需要seatch结果(commany = 1和driver_id = driver.id)帮助我!
答案 0 :(得分:2)
如果您只想根据条件提取Driver
,您可以这样做:
Driver::with('online')->where('company', 1)->get();
如果该条款与该关系有关,请使用with
并在其上指定查询。
$company = 1;
$drivers = Driver::with(['online' => function($query) use ($company)
{
$query->where('company', $company);
}]);
参见“Eager Load Constraints”:
https://laravel.com/docs/5.0/eloquent
记下我的use
。这允许您将范围中的变量包含到Closure实例中。
请注意,如果您使用任何一种解决方案,则必须建立关系。请参阅我分享的链接,了解更多相关信息。
编辑:根据我们的对话。
$drivers = Driver::where('company_id','=',1)
->with('driversOnline')
->whereHas('driversOnline', function($query) {
$query->where('online','=',1);
})
->get();