我从昨天开始学习Laravel,并且在获取对象的属性时面临一些困难。
这是类(使用artisan
创建):
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Task extends Model
{
public $description;
public $completed;
public $timestamps = false;
public function isComplete()
{
return $this->completed;
}
}
以下是问题:
>>> $tasks = App\Task::all();
=> Illuminate\Database\Eloquent\Collection {#654
all: [
App\Task {#652
id: "1",
description: "Learn Laravel",
completed: "0",
},
],
}
>>> $tasks[0]->id
=> 1
>>> $tasks[0]->description
=> null
为什么我可以访问id
但无法访问description
?
答案 0 :(得分:2)
字段description
为空,因为您的模型中的公共字段具有相同的名称:
public $description;
只需删除它,您就可以使用模型数据库表中字段description
的值。
答案 1 :(得分:0)
您必须按照以下方式制作模型属性
protected $table = 'your table name';
protected $primaryKey = 'id';
protected $fillable = ['description','completed'];
我希望这对你有用。