【发布时间】:2017-05-11 15:17:58
【问题描述】:
我有这个错误“试图获取非对象的属性”与 Yii2 中的关系(两个表)
$modelSK = SarparastKhanevar::find()->with('tahtTakafols')->where(['code' => $skCode])->all();
在这个 print_r($modelSK) 我有两个表的结果,但我在 print_r($modelSK->tahtTakafols) 中有错误
Array
(
[0] => app\models\SarparastKhanevar Object
(
[_attributes:yii\db\BaseActiveRecord:private] => Array
(
[id] => 2
[code] => 1493708638
[s_id] => 1
[u_id] => 6
)
[_oldAttributes:yii\db\BaseActiveRecord:private] => Array
(
[id] => 2
[code] => 1493708638
[s_id] => 1
[u_id] => 6
)
[_related:yii\db\BaseActiveRecord:private] => Array
(
[tahtTakafols] => Array
(
[0] => app\models\TahtTakafol Object
(
[_attributes:yii\db\BaseActiveRecord:private] => Array
(
[id] => 4
[sk_id] => 2
[code] => 1493728441
)
[_oldAttributes:yii\db\BaseActiveRecord:private] => Array
(
[id] => 4
[sk_id] => 2
[code] => 1493728441
)
[_related:yii\db\BaseActiveRecord:private] => Array
(
)
[_errors:yii\base\Model:private] =>
[_validators:yii\base\Model:private] =>
[_scenario:yii\base\Model:private] => default
[_events:yii\base\Component:private] => Array
(
)
[_behaviors:yii\base\Component:private] => Array
(
)
)
[1] => app\models\TahtTakafol Object
(
[_attributes:yii\db\BaseActiveRecord:private] => Array
(
[id] => 5
[sk_id] => 2
[code] => 1493728450
)
[_oldAttributes:yii\db\BaseActiveRecord:private] => Array
(
[id] => 5
[sk_id] => 2
[code] => 1493728450
)
[_related:yii\db\BaseActiveRecord:private] => Array
(
)
[_errors:yii\base\Model:private] =>
[_validators:yii\base\Model:private] =>
[_scenario:yii\base\Model:private] => default
[_events:yii\base\Component:private] => Array
(
)
[_behaviors:yii\base\Component:private] => Array
(
)
)
)
)
[_errors:yii\base\Model:private] =>
[_validators:yii\base\Model:private] =>
[_scenario:yii\base\Model:private] => default
[_events:yii\base\Component:private] => Array
(
)
[_behaviors:yii\base\Component:private] => Array
(
)
)
)
在 Foreach 中回显结果:
$i = 0;
foreach($modelSK as $model)
{
$list[$i]['id'] = $model->id;
$list[$i]['code'] = $model->code;
$list[$i]['s_id'] = $model->s_id;
$list[$i]['u_id'] = $model->u_id;
$j = 0;
foreach($modelSK->tahtTakafols as $modelTt)
{
$list[$i][$j]['id'] = $modelTt->id;
$list[$i][$j]['sk_id'] = $modelTt->sk_id;
$list[$i][$j]['code'] = $modelTt->code;
$j++;
}
$i++;
}
【问题讨论】:
标签: php activerecord yii foreach yii2