Как использовать, где в двух состоянии на лезвии фреймворк Laravel

Как использовать, где в двух состоянии на лезвии фреймворк Laravel

12.01.2020 03:35:35 Просмотров 36 Источник

Как я могу добавить два условия where в Laravel blade

({{ \App\Product::all()->where('category_id',$category->id  'user_id',Auth::user()->id)->count() }})
У вопроса есть решение - Посмотреть?

https://stackoverflow.com/questions/59703851/how-to-use-where-in-two-condition-on-blade-laravel#comment105560352_59703851
({{ \Приложения\продукта::где('category_id',$категория->ИД)->где('ид_пользователя',авт::пользователь()->ИД)-прикинь() }})

Ответы - Как использовать, где в двух состоянии на лезвии фреймворк Laravel / How to use where in two condition on blade laravel

Alex Bouma

12.01.2020 03:40:25

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

({{ \App\Product::where('category_id', $category->id)->where('user_id', Auth::user()->id)->count() }})

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


Я также заметил, что вы начали свой запрос с all()это будет извлекать все строки из базы данных, выполняющей теwhereусловия в вашем приложении. Это быстрее, чтобы запустить их в вашей базе данных, так что, удалив all()запрос будет выполняться с темиwhereусловия, как я думаю, это то, что вы хотите.

Amit Sharma

12.01.2020 03:40:28

вы можете использовать where condition в Laravel blade, как вы можете использовать их в своем контроллере

({{ \App\Product::all()->where('category_id',$category->id)->where('user_id',Auth::user()->id)->count() }})
Является ответом!
kame_house

12.01.2020 03:52:29

Прежде чем ответить на ваш вопрос я хотел бы отметить 2 вещи

1) сначала не используйте \App\Product::all (), а затем запрос where. Таким образом, вы получаете все записи из БД в виде коллекции, а затем операция where выполняется над коллекцией, а не в БД. Вы не хотите этого, потому что если у вас есть тысячи или миллионы записей, все они будут возвращены.

2) это не очень хорошая практика, чтобы иметь запросы внутри ваших взглядов. Просто получите результат запроса где-то внутри вашего проекта и передайте это значение в представление через контроллер.

Поэтому для вашего запроса есть фактически 2 способа добавить несколько предложений where с помощью laravel query builder

1) Используя прикованные где:

({{ \App\Product::where('category_id',$category->id)->where('user_id',Auth::user()->id)->count() }})

2) используя массив внутри where:

({{ \App\Product::where(['category_id' => $category->id, 'user_id' => Auth::user()->id])->count() }})
Закрыть X