преобразовать запрос из MySQL в PHP Laravel? - PullRequest
0 голосов
/ 15 октября 2018

Мой запрос выглядит следующим образом:

select employe.id, employe.nam, users.name, users.name_user from employe left join users on users.name = employe.id

это запрос к двум таблицам: сотрудники, пользователи.

Как передать его контроллеру?Я новичок в Laravel ..

Ответы [ 3 ]

0 голосов
/ 15 октября 2018

Я предполагаю, что пользователь-сотрудник имеет отношение Один к одному .Вы установили отношение в обеих моделях?

Если это так, вы можете сделать следующее в вашем контроллере:

$employees = Employee::with('user')->all();

Это загрузит всех сотрудников и связанного пользователя.Вопрос является ли users.name внешним ключом employee.id?Это немного странно, я рекомендую использовать идентификаторы на обеих моделях (autoIncrement).

0 голосов
/ 16 октября 2018

Вы можете легко поддерживать этот тип запроса с помощью Красноречивые отношения .

Добавьте этот метод в модель своего сотрудника

public function user(){
   return $this->hasOne('App\User','name','id');
}

Добавьте этот метод в свою пользовательскую модель

public function Employee(){
   return $this->belongsTo('App\Employee','id','name');
}

Добавить строку на свой контроллер

$employees = Employee::with('user')->all();
0 голосов
/ 15 октября 2018

Laravel используйте шаблон MVC, хорошей практикой является использование Модель для вашего сотрудника стола

Я рекомендую вам использовать Eloquen Model , поэтому ваш запрос будет выглядеть так:

Employe::select('employe.id', 'employe.nam', 'users.name', 'users.name_user')
       ->leftJoin('users', 'users.name', 'employes.id')
       ->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...