laravel-如何添加另一个连接以获得多个表

dy1byipe  于 2021-06-17  发布在  Mysql
关注(0)|答案(2)|浏览(375)

你好,这里我有一个连接表,这是我的连接语句。但是我只有一个join语句,它只得到一个表,我还需要另外4个表来连接或获取,所以如何在这个sql连接查询上执行它呢
假设我需要添加这些表: products , stocks , foods , beverage 我的join查询语句

$getairId = DB::table('aircrafts')
  ->join('movies','movies.aircraft_id','=','aircrafts.aircraft_id')
  ->select('movies.*')
  ->where('aircrafts.aircraft_id','=', $airid)
  ->get();

如何添加另一个连接

7rtdyuoh

7rtdyuoh1#

我是拉雷维尔的新手,但我已经写了两篇文章来回顾 created_by 以及 updated_by 类别表中的名称与用户表中的名称
这是我的问题

$result = DB::table('categories')
            ->leftJoin('users as created_table', 'created_table.id', '=', 'categories.created_by')
            ->leftJoin('users as updated_table', 'updated_table.id', '=', 'categories.updated_by')
            ->select('categories.*','created_table.name as created_by','updated_table.name as updated_by')
            ->paginate(3);

请添加尽可能多的连接和自定义您的要求
添加屏幕截图 categories 表数据
users 表数据

禁用数据的刀片文件

@extends('layouts.app')

@section('content')
<div class="container">
    <div class="row justify-content-center">
        <div class="col-md-8">
            <div class="card">
                <div class="card-header">
                    Category 
                    <strong style="float:right;"><a href="{{ url('/category/add') }}">Add</a>  | </strong>
                 </div>

                <table cellpadding="5" cellspacing="5" border="1">
                    <tr>
                            <td>#</td>
                            <td>Category Name</td>
                            <td>Created Date</td>
                            <td>Created By</td>
                            <td>Updated By</td>
                    </tr>
                    <?php $sno = 0 ?>
                    @foreach($result as $data_key => $data)
                    <!-- {{ $sno++ }}  -->

                    <tr>
                            <td>{{ $loop->iteration }}</td>
                            <td>{!! $data->category_name !!}</td>
                            <td>{!! $data->created_at !!}</td>
                            <td>{!! $data->created_by !!}</td>
                            <td>{!! $data->updated_by !!}</td>
                    </tr>

                    @endforeach
                </table>

                <div class="card-header">
                    {{ $result->links() }}
                 </div>

            </div>
        </div>
    </div>
</div>
@endsection

然后附上分类列表的屏幕截图

sqougxex

sqougxex2#

或者你也可以追求雄辩的关系拉威尔雄辩的关系。如果希望使用较少的联接查询,这将对您有所帮助。
你可以像这样获取飞机细节
在你的飞机上添加这个功能雄辩

public function movie()
    {
        return $this->hasOne('App\Movie','aircraft_id','aircraft_id');
    }

你可以在你的控制器里这样使用它

$getairId = DB::table('aircrafts')->with('movie')->get();

相关问题