2016-11-15 139 views
0

我有意外和考勤表。意外有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); 
} 

回答

0

使用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(); 

Source

+0

如何,如果日期是不是11/13? –

+0

这只是你的代码中的一个例子。你可以在那里传递一个字符串date的变量。也许可以在用户选择日期时使用来自GET参数的'Request' https://laravel.com/docs/5.3/requests#retrieving-input – xmhafiz