【问题标题】:Laravel 5.3 QuerybuilderLaravel 5.3 查询构建器
【发布时间】:2016-11-15 04:31:51
【问题描述】:

我有事故和考勤表。事故有accident_date,driver_id。考勤有working_date 和driver_id。

我想要的流程是,一旦我添加事故并填写它需要检查到出勤工作日期的事故日期字段,以及在该日期工作的司机数量,它将仅通过过滤器工作显示司机姓名。

例如:出勤 2016 年 11 月 13 日只有 2 名司机在工作,一旦我添加了与 2016 年 11 月 13 日出勤同一日期的事故,只有这 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);
}

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    使用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

    【讨论】:

    • 如果日期不是 11/13 怎么办?
    • 这只是您代码中的一个示例。你可以在那里传递一个字符串日期变量。当用户选择日期 laravel.com/docs/5.3/requests#retrieving-input 时,也许可以使用 GET 参数中的 Request
    猜你喜欢
    • 2021-09-25
    • 1970-01-01
    • 2020-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-29
    • 2017-10-26
    • 1970-01-01
    相关资源
    最近更新 更多