yii2向对象添加新项

时间:2017-08-31 08:41:52

标签: php 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>

1 个答案:

答案 0 :(得分:0)

Yii2 Activerecord Guide : Selecting extra fields

只需更改您的查询,如下所示:

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