sql-запрос с laravel с join (2 таблицы)


sql-запрос с laravel с join (2 таблицы)

21.07.2020 11:17:00 Просмотров 8 Источник

Добрый день,

Я хотел бы создать SQL-запрос для моего проекта Laravel. Чтобы немного объяснить вам мои 2 таблицы.

У меня есть таблица "продукты". В этой таблице у меня есть первичный ключ > products_id. У меня также есть столбец "статус", который указывает, является ли products_id "продается" или "сдается в аренду".

У меня есть вторая таблица "products_criteres". В этой таблице первичным ключом является > products_id У меня есть столбец "criteres_id", который должен быть = "30".

Так что я хотел бы сделать все, что products_id = "30" в "products_criteres" таблица и столбец "статус" равно "для продажи" в таблице Products.

Я пробовал что-то вроде этого, но ничего не работает:

SELECT products_main_criteres_history.products_id,date,criteres_id
FROM products_main_criteres_history LEFT JOIN products ON products_main_criteres_history.products_id = products_id
WHERE products_main_criteres_history.criteres_id = 30 
WHERE products.status = "a vendre"
У вопроса есть решение - Посмотреть?

Ответы - sql-запрос с laravel с join (2 таблицы) / sql query with laravel with join (2 tables)

Mica Pereira

21.07.2020 11:28:58

пример

$products_sql = продукты::присоединяйтесь к('products_details', 'продукты.ИД', '=', 'products_details.ИД') ->где('products.качество", "хорошо") ->получить();

Я понял, как вы хотели связать таблицы, но это примерно так : создайте переменную, вызывающую таблицу, связывающую таблицы, и сделайте " где " с помощью table.column и поместите васлор, который вы хотите получить только в результате

Mr Perfect

21.07.2020 11:50:36

products::where('status','for sale')
->whereIn('products_id',function($query){
   $query->select('products_id')->from('products_criteres')
         ->where('criteres_id',30)
})->get()
hossein zakizadeh

21.07.2020 11:56:23

этот код возвращает products с criteres, которые имеют products_id = 30 и state = "for sale" :

SELECT pr.id,pr.date,prc.*
FROM products pr inner JOIN products_criteres prc ON pr.id = prc.products_id 
WHERE pr.products_id  = 30 
and pr.status = "for sale"
Является ответом!
Vikas Katariya

21.07.2020 11:59:20

Используйте эту функцию query callback function

$products_sql = products::where('status','for sale')
                         ->whereIn('products_id',function($q){
                           $q->select('products_id')->from('products_criteres')
                         ->where('criteres_id',30)})->get();
Помочь в развитии проекта:
Закрыть X