Yii findbysql搜索2个表

Yii findbysql搜索2个表,yii,Yii,我使用此代码搜索$id为变量的两个表 $id=$\请求['company\ u id'] $result=User::model()->findBysql('从用户a、招聘人员b中选择a.email,其中a.id=b.User\u id和b.company\u id=$id') 我收到错误此代码不起作用。请不要使用用户$\u请求。您可以使用Yii::app()->request->getParam('company_id')或分别在$\u GET/$\u POST中搜索 (二) 3) 您可能希望

我使用此代码搜索$id为变量的两个表

$id=$\请求['company\ u id']

$result=User::model()->findBysql('从用户a、招聘人员b中选择a.email,其中a.id=b.User\u id和b.company\u id=$id')

我收到错误此代码不起作用。请不要使用用户$\u请求。您可以使用Yii::app()->request->getParam('company_id')或分别在$\u GET/$\u POST中搜索

(二)

3) 您可能希望将招聘人员定义为用户的模型关系,而不是用户$\u请求。您可以使用Yii::app()->request->getParam('company_id')或分别在$\u GET/$\u POST中搜索

(二)


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

您在这里编写的代码的主要问题是您的sql字符串用单引号括起来。但我不知道这是打字错误还是真正的问题。您能告诉我们错误消息吗?

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

我从yii live chat获得了帮助,他们告诉我,因为id是可变的,sql查询应该用双引号,id在{}

$result=User::model()->findBysql(“从用户a、招聘人员b中选择a.email,其中a.id=b.User\u id和b.company\u id={$id}”)


感谢您的回答

我从yii live chat获得了帮助,他们告诉我,因为id是可变的,sql查询应该用双引号括起来,id在{}

$result=User::model()->findBysql(“从用户a、招聘人员b中选择a.email,其中a.id=b.User\u id和b.company\u id={$id}”)


谢谢你的回答

你有什么问题吗?你的问题是什么?请使用参数,而不是sql Injectionar,如果你有问题的话?你的问题是什么?请使用参数,而不是sql注入
$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
    )
));