Laravel - Как добавить еще одно соединение, чтобы получить несколько таблиц - PullRequest
0 голосов
/ 31 декабря 2018

Здравствуйте, у меня есть 1 таблица соединения, и вот мое заявление о присоединении.но у меня только один оператор соединения, и он только получает 1 таблицу, мне нужно еще 4 таблицы, чтобы присоединиться или получить, так как я могу сделать это по этому запросу sql соединения

, давайте предположим, что мне нужно добавить эти таблицы:products, stocks, foods, beverage

мой запрос на объединение

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

как добавить другое объединение

Ответы [ 2 ]

0 голосов
/ 31 декабря 2018

или вы можете перейти к красноречивым отношениям красноречивым отношениям .Это поможет вам, если вы хотите использовать меньше запросов на присоединение.

EX.Вы можете получить подробную информацию о самолете следующим образом:

добавить эту функцию на ваш красноречивый самолет

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

и использовать ее в своем контроллере

$getairId = DB::table('aircrafts')->with('movie')->get();
0 голосов
/ 31 декабря 2018

Я новичок в Laravel, но я написал два соединения для получения 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 Табличные данные

enter image description here

users Табличные данные

enter image description here

Блейд-файл, чтобы отключить данные

@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

и затем присоединитьснимок экрана списка категорий n

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...