未找到列:1054 'where clause' 中的未知列 'orders.deleted_at'
Column not found: 1054 Unknown column 'orders.deleted_at' in 'where clause'
在我的 table 中没有 deleted_at 列。
但在 laravel 模型中 return deleted_at 在 where 条件下为 null。
下面是我的代码
public function load($id) {
return $this
->select(sprintf('%s.*', $this->getTable()))
->where(sprintf('%s.id', $this->getTable(), $this->getKeyName()), '=', $id)
->first();
}
有人可以帮助我吗?如何解决这个问题?
您必须从您的模型文件中删除特征 use SoftDeletes;
。
然后使用下面的代码:
return $this->where(sprintf('%s.id', $this->getTable(), $this->getKeyName()), '=', $id)
->pluck('id');'
由于您使用的是SoftDeletes
,因此它必须保存删除记录的日期和时间。
只需将其添加到 table 迁移中的 up
函数中即可:
$table->softDeletes($column = 'deleted_at', $precision = 0);
有关 SoftDeletes 的更多信息:https://laravel.com/docs/8.x/eloquent#soft-deleting
在我的 table 中没有 deleted_at 列。
但在 laravel 模型中 return deleted_at 在 where 条件下为 null。
下面是我的代码
public function load($id) {
return $this
->select(sprintf('%s.*', $this->getTable()))
->where(sprintf('%s.id', $this->getTable(), $this->getKeyName()), '=', $id)
->first();
}
有人可以帮助我吗?如何解决这个问题?
您必须从您的模型文件中删除特征 use SoftDeletes;
。
然后使用下面的代码:
return $this->where(sprintf('%s.id', $this->getTable(), $this->getKeyName()), '=', $id)
->pluck('id');'
由于您使用的是SoftDeletes
,因此它必须保存删除记录的日期和时间。
只需将其添加到 table 迁移中的 up
函数中即可:
$table->softDeletes($column = 'deleted_at', $precision = 0);
有关 SoftDeletes 的更多信息:https://laravel.com/docs/8.x/eloquent#soft-deleting