Я использую $ со свойством в модели для энергичных отношений загрузки, и теперь мне нужно добавить ограничение для активной нагрузки. как я могу это сделать?
простая нагрузка:
class Category extends Model
{
protected $table = 'categories';
protected $fillable = ['slug', 'lang','category', 'complex_id'];
protected $with = ['items'];
}
что я хочу сделать, это примерно так:
class Category extends Model
{
protected $table = 'categories';
protected $fillable = ['slug', 'lang', 'category', 'complex_id'];
protected $with = ['items' => function ($q) {
$q->where('lang', 'en');
}];
}
но это не разрешено в php, и я получаю исключение "Константа содержит недопустимые операции".
также можно добавить другое отношение, например:
public function englishItems()
{
return $this->hasOne('App\Item', 'category_id')->where(['lang' => 'en']);
}
и используйте его в $ со свойством, но при этом имя отношения изменяется, и нам нужно создать отношение для языка и некоторые другие проблемы.
спасибо.