私はYiiにとっては新しく、いくつかのことを頭に浮かべるのに苦労しています。Yii2 ActiveRecord
私はこの機能を備えたモデルがあります:
public static function findNonGeo()
{
$query = new CallerIdentityQuery(get_called_class());
$query->select([
'cidref', 'caller_id', 'expiry', 'conf_call',
'type', 'redirect', 'destination', 'status', 'start_date',
'statusDesc' => new \yii\db\Expression("CASE status
WHEN 0 THEN 'Deactivated'
WHEN 1 THEN 'Active'
WHEN 2 THEN 'Inactive'
WHEN 3 THEN 'Unregistered'
ELSE 'Permanently Deleted' END")])
->where(['status' => '1'])
->andWhere(['type' => 'N'])
->andWhere(['custref' => Yii::$app->user->identity->typedIdentity->getId()]);
return $query;
}
をそして、私のコントローラで、私はそうのように、このメソッドを呼び出します。
$model = CallerIdentity::findNonGeo()->where(['cidref' => $id])->one();
が、データがそのそのだけで
を無視してのように返されます->andWhere(['type' => 'N'])
「N」タイプではないレコードを表示できるためです。 は、私は多分、私が何か間違ったことをやっているか、それを理解していない、私のコントローラで行うことを抱えているが、私はそれを得ることはありません:
$model = CallerIdentity::findNonGeo()->where(['cidref' => $id])->andWhere(['type'=>'N'])->one();
別の事findOne($ ID)を使用した場合:
$model = CallerIdentity::findOne($id);
nullが返されます。
任意の形式の説明/情報がありがとう。