2017-01-09 7 views
3

私は単一のテーブルからデータを選択する方法についてJoomlaの文書に従っています。 3つのOR条件が必要です。条件のレコードを選択する - Joomla

$db = JFactory::getDbo(); 
$query = $db->getQuery(true); 
$query->select($db->quoteName(array('column1', 'column2', 'column3'))); 
$query->from($db->quoteName('#__table_example')); 

$query->where($db->quoteName('column1') . ' LIKE '. $db->quote('condition1')); 
OR where column2 == condition2 
... 

私の例では、多くのORを含むステートメントを作成するにはどうすればよいですか?私は構文の正しさについては何の話も見つけませんでした。あなただけの同じ場所文で追加または条件する必要が

答えて

1

$db = JFactory::getDbo(); 
$query = $db->getQuery(true); 
$query->select($db->quoteName(array('column1', 'column2', 'column3'))); 
$query->from($db->quoteName('#__table_example')); 

$query->where($db->quoteName('column1') . ' LIKE '. $db->quote('condition1') . ' OR ' . $db->quoteName('column2') . ' LIKE '. $db->quote('condition2') . ' OR ' . $db->quoteName('column3') . ' LIKE '. $db->quote('condition3')); 
1

私はORないだけをカバーする一般的な答えだけでなく、いくつかの問題を与えます。 例::(COND1またはCOND2またはCOND3)のいずれかに該当するとの1(cond4またはcond5が真である)場合、クエリを実行する必要があります

$query->where(((cond1)OR(cond2)OR(cond3)) AND ((cond4)OR(cond5))); 

ですから、ORを使用することができ、このようなWHEREクエリを使用しますあなたの好きなように、ただあなたの条件を定義するために()を正しく使用することを確認してください。あなたの特定のケースで

、あなたはこのようなフォーマットを使用します。

$query->where((var LIKE cond1) OR (cond2)); 

明らかにあなたのCOND2は次のとおりです。column2 == condition2

私はそれが混乱を解決したいと考えています。

関連する問題