我试图在cakephp
3 get方法中给出一个条件,其中数据将通过外部id获取而不是主键。在这里,我尝试了下面的代码:
$eventPasswordAll = $this->EventPasswordAll->get($id, [
'conditions' => ['event_id'=>$id],
'contain' => ['Events']
]);
但它根据id(primary key)
向我显示数据,而不是event_id
。我如何在get event_id=my get id
等方法中添加此条件?
答案 0 :(得分:6)
请勿使用get
,请使用find
。根据{{3}},CakePHP 3.0 Table API方法:
通过主键查找后返回单个记录,如果未找到记录,则此方法抛出异常。
您需要使用get
:
$eventPasswordAll = $this->EventPasswordAll->find('all', [ // or 'first'
'conditions' => ['event_id' => $id],
'contain' => ['Events']
]);
// or
$eventPasswordAll = $this->EventPasswordAll->find()
->where(['event_id' => $id])
->contain(['Events']) ;
答案 1 :(得分:0)
有时您想获取ID和用户ID。
$this->loadModel('Jobapplications');
$application = $this->Jobapplications->find('all', [
'conditions' => ['id' => $id, 'user_id' => $user_id]
]);
$application = $application->first();