Laravel 5.3 Querybuilder
问题描述:
我有意外和考勤表。意外有accident_date,driver_id。出勤率有working_date和driver_id。Laravel 5.3 Querybuilder
我想要的流程是一旦我添加意外,并填写accident_date字段,它需要检查考勤working_date,以及有多少驱动程序在该日期工作,它会显示驱动程序名称通过筛选器只工作。
例如:出勤率11/13/2016只有2名司机工作,一旦我加上意外相同的日期与出席11/13/2016只有那些2名司机的名字将被显示/可用。
这里是我的控制器至今:
public function render(View $view, $route = null, $obj = null, $method = 'POST') {
$claimTypeList = ClaimType::getArray();
$accidentStatusList = AccidentStatus::getArray();
$driver = Driver::pluck('first_name', 'id');
$view->with(compact('claimTypeList', 'accidentStatusList', 'driver'));
return parent::render($view, $route, $obj, $method);
}
答
使用join
为$driver
查询与考勤表
$driver = Driver::select('first_name', 'drivers.id')
->join('attendances', 'attendances.driver_id', '=', 'drivers.id')
->where('working_date', date('Y-m-d', strtotime('11/13/2016'))
->get();
如何,如果日期是不是11/13? –
这只是你的代码中的一个例子。你可以在那里传递一个字符串date的变量。也许可以在用户选择日期时使用来自GET参数的'Request' https://laravel.com/docs/5.3/requests#retrieving-input – xmhafiz