/**
* @property-read User $user
*/
class Article extends ActiveRecord {
public function getUser() {
return $this->hasOne(User::class, ['id' => 'user_id']);
}
}
Я год писал на Yii2 и только что обнаружил что если вот так указывать геттер на связь то автоматически генерируется пропертя. Причем даже безо всяких with. Это поведение где-то описано? Почему я об этом ничего не знал... Это здорово все упрощает!
Brainfuck писал(а): ↑2018.07.13, 11:37
Но у Article то есть! Я просто не могу понять что вообще делает этот via. Я читал доки, но не понял... Объясните мне пожалуйста простыми словами.
тут вроде понятно изложено. это связь через промежуточную таблицу
order => order_item => item в order можно получить items через/via order_items(order_id, item_id)
Последний раз редактировалось zelenin 2018.07.13, 11:42, всего редактировалось 1 раз.
Brainfuck писал(а): ↑2018.07.13, 11:37
Но у Article то есть! Я просто не могу понять что вообще делает этот via. Я читал доки, но не понял... Объясните мне пожалуйста простыми словами.
Это дублированные доки на русском языке. Я их уже читал. Упорно не понимаю как работает via. Даже после 10 раз прочтения доков... У меня она не работает никак...
/**
* @property-read User $user
*/
class Article extends ActiveRecord {
public function getUser() {
return $this->hasOne(User::class, ['id' => 'user_id']);
}
}
Я год писал на Yii2 и только что обнаружил что если вот так указывать геттер на связь то автоматически генерируется пропертя. Причем даже безо всяких with. Это поведение где-то описано? Почему я об этом ничего не знал... Это здорово все упрощает!
для каждой связи model::getSomething() существует model->something
тут вроде понятно изложено. это связь через промежуточную таблицу
order => order_item => item в order можно получить items через/via order_items(order_id, item_id)
Ооо кажется дошло. Я почему-то не замечал раньше эту надпись про промежуточную таблицу. Значит via это исключительно для промежуточных таблиц? Т.е. связь многие ко многим?
тут вроде понятно изложено. это связь через промежуточную таблицу
order => order_item => item в order можно получить items через/via order_items(order_id, item_id)
Ооо кажется дошло. Я почему-то не замечал раньше эту надпись про промежуточную таблицу. Значит via это исключительно для промежуточных таблиц? Т.е. связь многие ко многим?