Задать вопрос
  • Yii2. Best practice реализации связи many-to-many?

    qonand
    @qonand
    Software Engineer
    Насколько я понимаю у Вас вопрос именно по сохранению связанных данных. На мой взгляд использование link вполне уместно для связи пары записей, но для связи множества записей с одной (как в Вашем примере), его использовать не стоит, т.к. это приводит к росту кода и соответственно его усложнению. На мой взгляд лучше использовать приведенное Вами поведение т.к. оно делает практически все что Вы описали (в том числе и транзакции)
    Ответ написан
    Комментировать
  • Yii2. Best practice реализации связи many-to-many?

    webinar
    @webinar Куратор тега Yii
    Учим yii: https://youtu.be/-WRMlGHLgRg
    best practice - это стандартные для framework решения, например:
    public function getReviews()
    {
        return $this->hasMany(Review::className(), ['id' => 'review_id']);
    }

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

    Вариант по ссылке - это поведение, для модели. По сути попытка вынести часто используемые методы в поведение и упростить их использование. Но при этом попытки универсализации этого класса, привели к потере производительности в некоторых местах. На мой взгляд подход с поведениями здравый, но надо писать под проект свои поведения и не вижу смысла выносить связи в них.
    Ответ написан
    Комментировать