Laravel Show Resource搜索错误的列

时间:2019-04-08 10:59:25

标签: php laravel eloquent

我为我的空间(属性)创建了一个模型和控制器,该模型和控制器具有数据库结构; space_idspace_addressspace_ownerspace_price等...

但是,当我访问 localhost:8000 / project / space / 1 时,出现此错误:

  

找不到列:1054“ where子句”中的未知列“ spaces.id”(SQL:从spaces中选择*,其中spacesid = 3个限制1)

功能

public function show($id)
{
        $space = Space::find($id);
        return view('space.show')->with('space', $space);

}

这对我有帮助吗?

class Space extends Model
{
    protected $table = 'spaces';
    public $primarykey = 'space_id';
}

3 个答案:

答案 0 :(得分:7)

您应该使用

$primaryKey = 'space_id';

而不是:

$primarykey = 'space_id';

请注意,case sensitivity代表PHP中的变量名称:

  

PHP中的变量用美元符号表示,后跟变量名称。变量名称区分大小写。

答案 1 :(得分:3)

您的表中有space_id条,但雄辩的查询正在寻找id列。您必须将列名space_id更新为id,然后它才能工作。

答案 2 :(得分:1)

您应该在模型中正确设置主键:

protected $primaryKey = 'space_id';