yii CActiveRecord findAll with Error 500

时间:2016-09-01 10:04:07

标签: php yii

物种模型包含

public function relations()
{
    // NOTE: you may need to adjust the relation name and the related
    // class name for the relations automatically generated below.
    return array(
        'samples' => array(self::HAS_MANY, 'Sample', 'species_id'),
    );
}

我想让所有样品都属于一个物种

$species=  Species::model()->with('samples')->findAll(array('condition'=>'tax_id = :no','params'=>array(':no'=>$taxno)));
print_r($species);
$samples=$species->samples;  //error here
print_r($samples);

当我只是print_r($species)时,它会显示里面的样本值。但它无法传递到$samples中的$samples=$species->samples;,但会显示error 500

2 个答案:

答案 0 :(得分:0)

您正在使用 findAll 来获取数据。因此结果将是数组格式。您应该使用 for循环或foreach 来访问这些值。

foreach ($species as $specie) {
    echo $specie->samples;   
}

使用查找只会提供一条记录,但 findAll 会提供多条记录。

答案 1 :(得分:0)

您可以在android:layoutDirection="rtl" android:mirrorForRtl="true" 模型中更改您的关系。

Species.php 模型

Species.php

ControllerName.php文件

public function relations()
{
    // NOTE: you may need to adjust the relation name and the related
    // class name for the relations automatically generated below.
    return array(
        'samples' => array(self::BELONGS_TO, 'Sample', 'species_id'),
    );
}