Как я могу поставить условие в laravel? - PullRequest
0 голосов
/ 04 мая 2020

У меня есть Файл модель, в которой хранятся мои изображения, и у меня есть магазин модель, в магазине может быть много изображений, и в модели магазина я написал этот код:

public function Files()
    {
        return $this->hasMany('system\models\file', 'attachment_id');
    }

и я хочу получить модель магазина с ее изображениями, теперь мой вопрос: как я могу определить, где находится условие? мой код для модели магазина извлечения:

$shop = Shop::where('id', $id)->with('ShopType', 'User', 'Files')->get();


примечание: мне нужно поставить 2 условия для отношения, которое одна из набора тем в методе Files вызывает callment_id и мой второй условие является типом вложения, пожалуйста, помогите мне. спасибо

Ответы [ 2 ]

1 голос
/ 04 мая 2020

Вы можете использовать ограничения-жаждущие нагрузки:

$shop = Shop::with(['ShopType','User', 'Files'=>function ($query)use($id)
{
query->where('id', $id);
}
])->get();

подробнее в:

https://laravel.com/docs/7.x/eloquent-relationships#constraining -eager-load

0 голосов
/ 04 мая 2020

Модель

public function all() { 
     return $this->hasManyThrough('ShopType', 'User', 'Files');
} 

, а затем

$shop = Shop::with('all')->where('id',$id)->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...