选择条件记录 - Joomla

时间:2017-01-09 10:27:27

标签: mysql joomla

我跟着Joomla doc关于如何从单个表中选择数据。我需要3个OR条件。

$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进行where语句?我没有找到任何关于语法正确性的主题。

2 个答案:

答案 0 :(得分:1)

您只需在相同的where语句中添加或条件:

$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 :(得分:1)

我给出一般答案,不仅包括 OR ,还包括几个 AND 问题。像这样使用 WHERE 查询: 例如:如果(cond1或cond2或cond3)中的一个为真且其中一个(cond4或cond5为真),则应运行查询:

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

因此,您可以按照自己喜欢的方式使用 OR AND ,只需确保正确使用()来定义条件。

在您的特定情况下,您将使用以下格式:

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

显然你的cond2是:column2 == condition2

我希望它能解决困惑。