Другой способ изменить имя таблицы в Laravel с помощью App \ Models \ XXX name - PullRequest
0 голосов
/ 29 мая 2020

Простой вопрос ... Я могу изменить имя таблицы в запросе, подобном этому:

$users = DB::table('users AS u')->select('name');

Могу ли я сделать это как-то так?

$users = App\Models\Users::select('name')->get();

Ответы [ 3 ]

1 голос
/ 29 мая 2020

Можно ( исходник ),

App\Models\Users::from( 'users as u' )
    ->select( 'name' )
    ->get();

Получить имя прямо из таблицы ( источник ),

$users = new Users;
$table = $users->getTable();
print_r($table);
0 голосов
/ 29 мая 2020

Это называется таблицей «Псевдоним», и бессмысленно устанавливать псевдоним в модели просто потому, что вам не нужно определять имя таблицы, когда вы используете Laravel ORM.

Но в запросе Builder вы можете установить псевдонимы специально, когда вы пытаетесь присоединиться к одной и той же таблице несколько раз:

 DB::table('table_name AS alias_name');

или в join

$query->join('table_name as alias_name', function ($builder) use ($value) {}
0 голосов
/ 29 мая 2020

Можете ли вы попробовать это:

$users = Users::from('users AS u')
               // Extra Logic
               ->where('u.//field' , '=' , $data)
               ->select('u.name')
               ->get();

Надеюсь, это вам поможет!

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