Size: a a a

Laravel для начинающих

2020 March 29

.

. in Laravel для начинающих
Насколько сложно?
источник

V

Vitrackt in Laravel для начинающих
Илья Сакович
в методе belongsTo есть дополнительные параметры, где можно указать ключи
Есть такое. Получается вот так : $this->belongsTo(Client::class,'to_client_id')  и  $this->belongsTo(Client::class, 'from_client_id')
А где эти 2-е строчки теперь прописать чтоб они работали как надо???

Если эти строчки пропишу в функции :
public function Client()    {  
$this->belongsTo(Client::class,'to_client_id')
return $this->belongsTo(Client::class, 'from_client_id');   }
то подключается связь  только это - return $this->belongsTo(Client::class, 'from_client_id'), первая строчка игнорируется.
источник

ИС

Илья Сакович... in Laravel для начинающих
сделай два отдельных метода
источник

ИС

Илья Сакович... in Laravel для начинающих
pubf toClient()
источник

ИС

Илья Сакович... in Laravel для начинающих
pubf fromClient
источник

ИС

Илья Сакович... in Laravel для начинающих
в одном связь с одним полем
источник

ИС

Илья Сакович... in Laravel для начинающих
в другом с другим
источник

V

Vitrackt in Laravel для начинающих
Илья Сакович
сделай два отдельных метода
не работает. Лара их не видит
источник

ИС

Илья Сакович... in Laravel для начинающих
что значит лара не видит?
источник

V

Vitrackt in Laravel для начинающих
Илья Сакович
что значит лара не видит?
если прописывать public function toClient()   - то связь не регистрируется. т.е. в функцию вход не осуществляется.
источник

ИС

Илья Сакович... in Laravel для начинающих
а где он должен осуществляться? покажи код нерабочил
источник

V

Vitrackt in Laravel для начинающих
Илья Сакович
что значит лара не видит?
тсвязь регистрируется если указать чисто имя модели. т.е. так public function Client()
источник

ИС

Илья Сакович... in Laravel для начинающих
покажи чего ты пытаешься добиться
источник

К

Канат in Laravel для начинающих
Vitrackt
тсвязь регистрируется если указать чисто имя модели. т.е. так public function Client()
Ты в with указываешь имя метода
источник

V

Vitrackt in Laravel для начинающих
Илья Сакович
покажи чего ты пытаешься добиться
Даже не знаю как код показать... все разбросано...
Мне нужно при загрузке записи Order с id=5 ( $db_result=Order::findOrFail(5); )  получить фамимлию клиента который отправитель (from_client_id = 11)("Иванов") и  фамилию клиента который получатель (to_client_id = 19) ("Петров"). И вывести это на страницу.

Я в классе Order прописываю функции как порекомендовали  toClient() $this->belongsTo(Client::class,'to_client_id')  и   fromClient() $this->belongsTo(Client::class, 'from_client_id'). Но эти функции не исполняются. Только если указать Client().
Этj я выяснил если в функции вставить - dd('Выполняется');
источник

ИС

Илья Сакович... in Laravel для начинающих
$order->toClient->surname;
источник

ИС

Илья Сакович... in Laravel для начинающих
$order->fromClient->surname;
источник

V

Vitrackt in Laravel для начинающих
Канат
Ты в with указываешь имя метода
не совсем понял.  где указывать имя метода?
источник

К

Канат in Laravel для начинающих
Vitrackt
не совсем понял.  где указывать имя метода?
$db_result=Order::findOrFail(5)->with('toClient');
источник

К

Канат in Laravel для начинающих
хотя нет так вроде не пройдет, точно не знаю
источник