Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Да, именно так я и хочу сделать. Но загвоздка в том, что первоначально сайт был сделан так, что
именно от авторизации все плясало. Авторизовался - увидел свои цены и скидки.
А тут получается пользователю надо видеть скидки чужие.
Все это сделать можно, только придется очень многое переделывать, хотелось бы попроще,
Вот в релейшонсах можно как-то выборку делать как у меня пример написан. Он ошибку выдает, но может ему можно как-то подменить?
public function bayerSeller(){
if ($this->isOptManager()&&Session()->has('bs_id')) {
return BayerSeller::find(Session()->get('bs_id'));
} else {
return $this->hasOne('App\BayerSeller','user_id');}
}
Всем здравствуйте, может подскажете идею..??
Создал сайт на Laravel, и все было завязано на пользователя, т.е. пользователь авторизуется и ему на сайте показываются его персональные скидки, цены и т.п.
в модел User есть вот такие отношения
public function Orders(){
return $this->hasMany('App\Orders','user_id','id');
}
public function bayerSeller(){
return $this->hasOne('App\BayerSeller','user_id');}
}
в модели bayerSeller (оптовые клиенты) прописаны его скидки и т.п. - через нее уже связи с другими Моделями (например Discounts)
У оптовых клиентов есть менеджер, который за ними закреплен.
Сейчас встала задача сделать интерфейс для менеджера, чтобы он мог авторизоваться сам и смог выбрать клиента, к которому он приехал
и увидеть уже через созданный функционал его скидки и т.п. Т.е. системе как-то подменить user_id
Чтоб не перелопачивать весь движек, хотел сделать примерно так:
в модели user прописать вместо
public function bayerSeller(){
return $this->hasOne('App\BayerSeller','user_id');}
}
такую конструкцию:
public function bayerSeller(){
if ($this->isOptManager()&&Session()->has('bs_id')) {
return BayerSeller::find(Session()->get('bs_id'));
} else {
return $this->hasOne('App\BayerSeller','user_id');}
}
но выходит ошибка Relationship method must return an object of type.
Может подскажете как можно реализовать такую конструкцию??
Всем заранее благодарен.