yii2将新项目添加到对象中



执行

之后
$results = TblTrucks::find()->all();
 return $results;

我得到了新的

<TblTrucks>
  <id>5022</id>
  <ref_no>2017-1502884906</ref_no>
</TblTrucks>
<TblTrucks>
  <id>5023</id>
  <ref_no>2017-1502884956</ref_no>
</TblTrucks>

现在我想添加一个新属性,所以在模型中我有

public $driver;

现在我试图用

分配一个值
 $results = TblTrucks::find()->all();
foreach ($results as $key => $value) {
    $results[$key]->driver = "test driver"
}
return $results

第二个返回没有驱动程序属性或我出错的值,因为我只想显示新属性值但不能保存值?

我希望得到

<TblTrucks>
  <id>5022</id>
  <ref_no>2017-1502884906</ref_no>
 <driver>Test driver</driver>
</TblTrucks>
<TblTrucks>
  <id>5023</id>
  <ref_no>2017-1502884956</ref_no>
  <driver>Test driver</driver>
</TblTrucks>

yii2 activerecord指南:选择额外字段

只需以下面的方式更改查询:

$trucks = TblTrucks::find()
      ->select('your_table_name.*,"test driver" as driver') // replace with your table name
      ->all();

最新更新