【发布时间】:2018-01-17 11:13:57
【问题描述】:
我有一个模型,里面有一个访问器
class Test extends Model
{
protected $fillable = [
'subject','date',
];
public function getSubjectAttribute($value)
{
return ucfirst($value);
}
}
当我调用模型时,访问器不起作用 我阅读了所有文件和问答,但是... 我在 5.5 中的 Laravel 版本
在模型中我有一个获取数据的方法
public function get_specific_subject($id){
$subject = DB::table("subjects")
->where("id", "=", $id)
->first();
return $subject;
}
我通过下面的代码在我的控制器中调用这个方法
$subject = new Test();
$subject = $subject->get_specific_subject($subject_id);
dd($subject);
dd结果是:
+"id": 5
+"subject": "testing subject"
+"date": "2018-01-17"
+"created_at": "2018-01-13 15:08:41"
+"updated_at": "2018-01-13 15:08:41"
【问题讨论】:
-
$subject_id 来自哪里?
-
您期待什么?你能显示
dd($subject)的输出吗? -
可能是您使用了错误型号的访问器。
-
您正在倾倒整个模型。你需要 dd() $subject->subject 如果你想要这个属性
-
@LewisJohnson 重要吗?例如它是静态变量。 $subject_id = 1;
标签: php laravel laravel-5.5 accessor