【发布时间】:2017-07-16 13:08:48
【问题描述】:
我有三个模型:driver、designation 和 dpsObject,具有以下relationships:
驱动程序->hasMany(dpsObject) driver->belongsTo(Designation)
designation->hasMany(Driver)
dpsObject->belongsTo(Driver)
我正在尝试编写一个查询来返回一个 dpsObject 记录列表,这些记录对应于三个用户输入的值,它们是:一个日期范围(从和到)保存 dpsObject 中的 EntryDate 字段的值和一个 Designation 输入,保存着 Designation 对象中一个 Designation_name 字段的值。 目前这是我的查询:
$dps = dpsObject::where([['entryDate', '>=', $from],
['entryDate', '<=', $to]]);
$from 和 $to 保存从表单用户提交的请求值。 我需要完成查询以捕获具有 dpsObject 记录的驱动程序的指定名称。挑战在于 designation_name 字段不存在于 dpsObject 模型上,而仅存在于驱动程序和指定模型上。这就是我想要维护数据库模型的方式。我想我需要使用连接或类似的东西,但我不知道该怎么做。
编写此类查询的最佳方法是什么?
亲切的问候
【问题讨论】:
标签: mysql laravel laravel-5 eloquent laravel-eloquent