首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >findbysql搜索2个表

findbysql搜索2个表
EN

Stack Overflow用户
提问于 2011-08-26 19:41:21
回答 3查看 3.4K关注 0票数 0

我使用这段代码来搜索2个表,其中$id是一个变量

$id=$_REQUEST‘’company_id‘;

$result=User::model()->findBysql('select a.email from user a,recruiter b where a.id=b.user_id and b.company_id=$id');

我得到了错误,这个代码不工作任何想法请

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-08-29 15:57:43

我从yii实时聊天中得到了帮助,他们告诉我,因为id是可变的,所以sql查询应该用双引号括起来,id放在{}中

$result = User::model()->findBysql("select a.email from user a,recruiter b where a.id=b.user_id b.company_id={$id}");

谢谢你的回答

票数 1
EN

Stack Overflow用户

发布于 2011-08-26 21:04:59

1)切勿使用$_REQUEST。您可以使用Yii::app()->request->getParam('company_id')或分别在$_GET/$_POST中搜索

2)

代码语言:javascript
运行
复制
$result = User::model()->find(array(
    'condition' => 'r.company_id=:company_id',
    'join' => 'INNER JOIN recruiter r ON t.id = r.user_id',
    'params' => array(
        ':company_id' => $id
    )
));

3)您可能希望将招聘人员定义为用户的模型关系

票数 1
EN

Stack Overflow用户

发布于 2011-08-26 21:06:53

您在这里编写的代码的主要问题是您的sql字符串包含在单引号中。但我不知道这是一个打字错误还是真正的问题。您能告诉我们错误信息吗?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7204104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档