无法访问Laravel

时间:2017-03-15 22:42:34

标签: php laravel object laravel-5

我从昨天开始学习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

2 个答案:

答案 0 :(得分:2)

字段description为空,因为您的模型中的公共字段具有相同的名称:

public $description;

只需删除它,您就可以使用模型数据库表中字段description的值。

答案 1 :(得分:0)

您必须按照以下方式制作模型属性

protected $table = 'your table name';
protected $primaryKey = 'id';
protected $fillable = ['description','completed'];

我希望这对你有用。