gpt4 book ai didi

php - 无法在访问器方法中获取属性 - laravel Eloquent

转载 作者:可可西里 更新时间:2023-11-01 00:43:18 27 4
gpt4 key购买 nike

好吧,我希望自定义字段不作为我的数据库表中的列存在。

我跟着,最后一部分: http://laravel.com/docs/4.2/eloquent#accessors-and-mutators

我的模型代码:

class Car extends Eloquent{
protected $fillable = array('driverID', 'fuelRemaining');
protected $appends = array('is_driver');

public function user(){
return $this->belongsTo('user');
}

public function getIsDriverAttribute(){
return ($this->attributes['driverID'] == Auth::user()->id);
}
}

车 table :

Schema::create('cars', function(Blueprint $table)
{
$table->increments('id');
$table->integer('driverID');
$table->integer('fuelRemaining');
$table->mediumtext('desc');
$table->timestamps();
});

如您所见,我想要返回一个额外的字段“is_driver”,但是当我运行它时,这个字段用于通过比较 ID 来确定当前登录的用户是否是司机本人。

它会输出这个错误:

Undefined index: driverID

不确定我在这里做错了什么,请指教。

最佳答案

啊,我找到原因了。这是给 future 读者的引用

在我的 Controller 中我只得到这两个

$car = Car::where('fuelRemaining', 0)->get(array('id', 'desc'));

当我将 authorID 添加到 get 数组时

$car = Car::where('fuelRemaining', 0)->get(array('id', 'desc', 'authorID'));

我能够在问题中提到的自定义访问器中获取 authorID 属性。

关于php - 无法在访问器方法中获取属性 - laravel Eloquent ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27567289/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com