Yii2:在多个where条件的findone()语法

Paw*_*wan 5 php mysql yii2

我有一个表ipd_charges列

table - ipd_charges

id    doctor room_category charges_cash charges_cashless
1        1          1              200            300
2        1          2              300            400
Run Code Online (Sandbox Code Playgroud)

表 - patient_admission

id patient_name tpa_name(if not null, equivalent to charges_cashless)
1        1        Null
2        2         1
Run Code Online (Sandbox Code Playgroud)

table daily_ward_entry

id  patient_name  room_name  doctor_name charges ( from ipd charges)
1          1           1           1         200
2          2           2           1         400
Run Code Online (Sandbox Code Playgroud)

我试图使用这个失败的查询:

$model = \app\models\IpdCharges::find()
         ->where(['doctor'=>$id])
         ->andwhere(['room_category'=>$this->room_name])->one();
Run Code Online (Sandbox Code Playgroud)

谢谢.如果需要更多信息,请告诉我.

非常感谢帮助.

小智 11

请检查以下代码:

$ipdCharges = new IpdCharges();
$ipdCharges->findOne(['doctor' => $id, 'room_category' => $this->room_name]);
Run Code Online (Sandbox Code Playgroud)

  • 正确的语法是`static :: findOne()`.Yii2中新的`ActiveRecord`背后的整个想法是你*不需要一个实例来进行查询(还记得`model()`?) (7认同)