沃梦达 / 编程问答 / php问题 / 正文

教义——还是在哪里?

Doctrine - or where?(教义——还是在哪里?)

本文介绍了教义——还是在哪里?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下疑问:

$query = Doctrine_Query::create()
                ->from('Member m')
                    ->where("m.type='1'")
                        ->andWhere("m.name LIKE '%$term%'")
                        ->orWhere("m.surname LIKE '%$term%'")
                        ->orWhere("m.company LIKE '%$term%'")
                        ->orderBy('id DESC');

但它并没有像我想要的那样工作——它忽略了 type 列.

But it's not working like I want — it is ignoring type column.

我需要的是结果集,其中 m.type=1 和此查询中的其他一些字段是 LIKE 'something'.

What I need is result set where m.type=1 and some of other fields in this query is LIKE 'something'.

推荐答案

$query = Doctrine_Query::create()
  ->from('Member m')
  ->where('m.type = 1 AND m.name LIKE ?', '%'.$term.'%')
  ->orWhere('m.type = 1 AND m.surname LIKE ?', '%'.$term.'%')
  ->orWhere('m.type = 1 AND m.company LIKE ?', '%'.$term.'%')
  ->orderBy('m.id DESC');

您的 OR 条件不包括第一个条件.还建议对变量使用 ? 以确保 Doctrine 对它们进行转义.

Your OR conditions didn't include the first condition. It's also recommended to use the ? for your variables to ensure Doctrine escapes them.

这篇关于教义——还是在哪里?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:教义——还是在哪里?

基础教程推荐