简单的查找命令不起作用。错误显示错误的外键

时间:2015-03-07 16:02:05

标签: laravel laravel-4

我正在尝试编辑已存在的Message的内容。所以当我点击:

 {{ HTML::linkAction('MessageController@edit', 'edit', array($message->PK_message)) }}

我的' MessageController'

public function edit($id)
{
    $message = Message::find($id);
    dd($message);

    // return Redirect::back();
}

我收到此错误消息:

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'tblMessages.id' in 'where clause' (SQL: select * from `tblMessages` where `tblMessages`.`id` = {messages} limit 1)

引起我注意的是' tblMessages.id'不是我的外键。 所以我觉得有问题吗?

我可以传递自定义外键还是有其他问题?

1 个答案:

答案 0 :(得分:1)

当您使用Primary Key以外的其他id时,您应该明确声明$primaryKey属性,如下所示:

class Message extends Model {

    // This is required now
    protected $primaryKey = 'PK_message';

}

默认情况下,Laravel假定(未明确声明)id作为主键。