Сначала прочитайте самый рейтинговый ответ этого поста -> Laravel - Красноречивый «Имеет», «С», «Где» - Что они означают?
Метод whereHas()
такой же, как метод has()
, за исключением того, что он позволяет вам предоставлять дополнительные выражения where внутри вашего замыкания.Но оба эти метода возвращают только те модели, которые имеют отношения, о которых вы просили.Это не означает, что он будет возвращать любые столбцы в этих отношениях.
Вам нужно будет использовать метод with()
, чтобы получить столбцы, которые вы ищете, и затем ссылаться на них в вашем выборе как что-то вроде select('product_id', DB::raw('SUM(value) as total'), 'product_detail.id', 'product_details.title')
Надеюсь, это помогло вам!Если неясно или у вас есть какие-либо вопросы, я обязательно отвечу как можно быстрее.