【发布时间】:2017-10-23 11:59:44
【问题描述】:
我没有用eloquent,我的模型是这样的。
class drivers extends Model
{
}
我想显示所有司机的记录(每行一条记录)
我的 driver 表有字段 (driver_id,name,tyre_id)
我的 tyre 表有字段 (id, title)
我的bank表有字段(id、driver_id、bank)
我希望我的记录是这样的......
Driver Id、Name、Bank Details、Tyre Title
100000111、Ayer、Available、GO
.. 以此类推
如果 driver_id 在银行表中有记录,则银行详细信息应显示可用,否则不适用。
$drivers= Drivers::get();
$myarray = ();
foreach ($drivers as $d){
$bank = Bank::where('driver_id',$d->driver_id)->first();
$tyre = Tyre::where('id',$d->tyre_id)->first();
$myarray[] = $d->driver_id;
$myarray[] = $d->name;
$myarray[] = isset($bank) ? "available" ; '';
$myarray[] = $tyre->title;
}
这是我尝试过的,我是 laravel 的新手,如何在 laravel 中或使用 DB Table 之类的查询来实现这一点?
【问题讨论】:
-
好的,所以您基本上需要使用联接或关系才能将表连接在一起。此外,您不想运行
->first(),因为这只会获取您需要运行->get();然后在刀片文件中使用foreach()循环的1 个结果。我只能假设轮胎中的id与driver_id匹配??