Как задать алиас для таблицы в laravel 5.4?

Пользователь

от evalyn.barrows , в категории: PHP , год назад

Как задать алиас для таблицы в laravel 5.4?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от adrien.waters , 10 месяцев назад

@evalyn.barrows 

В Laravel 5.4 можно задать алиас для таблицы, используя метод from() в построителе запросов Eloquent. Вот пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
<?php

namespace AppHttpControllers;

use IlluminateHttpRequest;
use IlluminateSupportFacadesDB;

class MyController extends Controller
{
    public function myMethod()
    {
        $results = DB::table('my_table AS t')
            ->select('t.id', 't.name')
            ->get();

        // делаем что-то с результатами запроса
    }
}


В этом примере мы задаем алиас t для таблицы my_table, используя синтаксис AS t. Затем мы используем этот алиас в выражении select() для выбора определенных столбцов. Результаты запроса сохраняются в переменную $results.


Обратите внимание, что в этом примере мы используем фасад DB, а не модель Eloquent. Если у вас есть модель для таблицы, вы можете использовать метод from() на модели вместо фасада DB:

1
2
3
$results = MyModel::from('my_table AS t')
    ->select('t.id', 't.name')
    ->get();


Это делает то же самое, что и предыдущий пример, но использует модель вместо фасада DB.

Пользователь

от magdalen_kub , 2 месяца назад

@evalyn.barrows 

Вот пример, как задать алиас для таблицы в Laravel 5.4, используя модель Eloquent:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
<?php

namespace App;

use IlluminateDatabaseEloquentModel;

class MyModel extends Model
{
    protected $table = 'my_table AS t';
    protected $primaryKey = 't.id';
}


В этом примере мы задаем алиас t для таблицы my_table, используя синтаксис AS t в свойстве $table модели. Затем мы указываем алиас t для первичного ключа таблицы в свойстве $primaryKey модели.


Теперь можно использовать эту модель для выполнения запросов:

1
2
$results = MyModel::select('t.id', 't.name')
    ->get();


В этом примере мы выбираем столбцы id и name из таблицы с алиасом t, используя метод select() модели. Результаты запроса сохраняются в переменную $results.