我有一个模型,里面有一个访问器
class Test extends Model
{
protected $fillable = [
'subject','date',
];
public function getSubjectAttribute($value)
{
return ucfirst($value);
}
}
当我调用模型时,访问器不起作用 我阅读了所有文件和问答,但是...... 我的 Laravel 版本为 5.5
在模型中我有一个获取数据的方法
public function get_specific_subject($id){
$subject = DB::table("subjects")
->where("id", "=", $id)
->first();
return $subject;
}
我通过下面的代码在我的 Controller 中调用这个方法
$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"
最佳答案
您正在使用数据库来获取您的记录,而是在 Controller 中执行此操作:
$subject= Test::find($subjectId);
dd($subject);
并在您的模型中添加以下行:
protected $table = 'subjects';
public $primaryKey='id';
关于php - 访问器在 Laravel 5.5 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48299785/