Я хотел бы сделать запрос к таблице для каждой линейки продуктов, но мне нужно контролировать, существует ли идентификатор продукта в другой таблице. Если да, то мне нужно иметь два значения, которые могут вызвать «проверено» или «ложь»
в таблице продуктов
id name
1 abc
2 def
3 ghi
в другой таблице
id id_product id_catalogue
1 2 1
2 3 2
Мне нужен этот результат, например, когда я задаю ширину id_catalogue 1
id produt name value id_catalogue
1 abc false null
2 def checked 1
3 ghi false null
это должно быть только в одном запросе
на самом деле у меня есть это, расширьте мой запрос, который работает не очень хорошо
id produt name value id_catalogue
1 abc false null
2 def checked 1
3 ghi checked null
спасибо
$this->datatables->select("frs.raison_sociale as fournisseur,f.titre as famille,sf.titre as sous_famille,p.attribut as attribut,p.pa_centrale as prix_achat,p.marge_centrale as marge_centrale,p.pa_magasin as pa_magasin,p.marge_magasin as marge_magsin,p.prix_ht_public as public_ht,p.prix_ttc_public as public_ttc,p.id as id
,IF (cc.id_catalogue='".$id."', 'checked', FALSE) checked
",FALSE)
->from('cat_produits p')
->where('p.suppr','0')
->join('fournisseurs frs','frs.id=p.id_fournisseur', 'left')
->join('cat_familles f','f.id=p.id_famille', 'left')
->join('cat_sous_familles sf','sf.id=p.id_sous_famille', 'left')
->join('cat_cat_produits cc','cc.id_produit=p.id','left')
->edit_column('id', '', 'id,checked');
Изменить: запрос работает, у меня есть две ошибки:
missing cc.id_catalogue in select
и раньше:
IF (cc.id_catalogue='".$id."', 'checked', '') checked
после (отсутствует как):
IF (cc.id_catalogue='".$id."', 'checked', '') as checked
Подробнее здесь: https://stackoverflow.com/questions/169 ... de-igniter