php - 没有 id 的 Laravel 5 更新

标签 php laravel laravel-5

我在 Laravel 5 中遇到问题。当我更新数据库中的记录时,出现错误 Unknown column 'id' in 'where clause'。在 Controller 中,我使用 WHERE 子句来获取我要更新的记录。我的主键不是 id,类型是 bigInteger。我试过在模型中添加 protected $primaryKey 但它不适用于 bigInteger。有没有办法使用我自己的主键而不是使用 id?

Controller

$item = Item::where('item_id','=',$item_id)->first();
$item.name = $name;
$item.type = $type;
$item.save();

最佳答案

请将此行添加到您的 Item.php 模型

类 Item 扩展模型 {


//只添加这一行
protected $primaryKey = 'item_id';

//.....你模型的其余部分

因为你使用自定义 id 名称,如果你不指定它,laravel 将不知道你的主键是什么

关于php - 没有 id 的 Laravel 5 更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36270417/

相关文章:

php - 验证多个文件输入mysql查询

laravel - 如何在 Eloquent ORM中按多对多关系的数据透视表的字段排序

Laravel Elixir 错误路径

php - laravel 5.8.* 安装失败

php - 如何在 Laravel 5 中构建模块化应用程序?

php - 创建一个电子邮件地址用户名

windows和linux的php md5_file区别

php - bool PHP MySQL 参数错误

php - SQLSTATE[42S01] : Base table or view already exists: 1050 Table 'payments' already exists (SQL: create table `payments`

php - Laravel 5.1 验证在正确的 mime/扩展名上失败