php - 如何获取laravel模型中的所有记录

标签 php arrays laravel

我没有使用eloquent,我的模型是这样的。

class drivers extends Model
{
}

我想显示所有司机的记录(每行一条记录)

我的driver表有字段(driver_id,name,tyre_id)

我的tyre表有字段(id,title)

我的银行表有字段(iddriver_idbank)

我希望我的记录是这样的...

驾驶员 ID姓名银行详细信息轮胎名称

100000111艾尔可用GO

..等等

对于银行详细信息,如果 driver_id 在银行表中有记录,则应显示可用,否则 N/A。

$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 这样的查询来实现这一点?

最佳答案

Laravel 提供了两个非常有用的工具来执行数据库操作eloquent查询生成器。建议尽可能多地使用 eloquent 及其关系,因为这有助于我们通常需要执行的许多常见操作。

现在,如果您想进行更复杂的查询,您可以使用查询构建器,另外,使用查询构建器的案例示例如下:

在 Controller 中进行查询并将数据传递给 View :

$data = DB::table('driver')
          ->leftJoin('bank', 'bank.driver_id','=', 'driver.driver_id')
          ->join('tyre', 'tyre.id','=', 'bank.tyre_id')
          ->select('driver.driver_id as id',
                   'driver.name',
                   'bank.id as bank_id',
                   'tyre.title')
          ->groupBy('driver.driver_id')
          ->get()

在您看来,您可以使用 foreach 循环来显示数据(并且您可以使用条件来显示银行字段):

 <table>
    <thead>
        <tr>
            <th>Driver ID</th>
            <th>Name</th>
            <th>Bank Detail</th>
            <th>Tyre Title</th>
        </tr>
    </thead>
    <tbody>
        @foreach($data as $item)
            <tr>
                <td>{{ $item->id }}</td>
                <td>{{ $item->name }}</td>
                <td>{{ isset($item->bank_id) ? "availible":"N/A" }}</td>
                <td>{{ $item->title }}</td>
            </tr>                     
        @endforeach
    </tbody>
 </table>

同样,我建议您阅读 eloquent 的文档并尝试使用它。

https://laravel.com/docs/5.5/queries

https://laravel.com/docs/5.5/eloquent

关于php - 如何获取laravel模型中的所有记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46888827/

相关文章:

php - 使用 codeigniter 将不同表中的值获取到单个数组中?

php - 旋转后图像尺寸增大

c 将数组传递给 nasm 函数

html - Bootstrap 默认给我多选

php - 从 Laravel 5 中的一种形式插入不同的表

php - 理想的 PHP session 大小?

php - WooCommerce - 自动添加奖励产品

arrays - swift 遵循 Stridable 后进入死循环

mysql - 从多个表和字符串中选择

php - Laravel 应用程序 key - 它是什么以及它如何工作?