@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
.
@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.