php Laravel Eloquent模型::查找不起作用[已关闭]

h5qlskok  于 2022-11-28  发布在  PHP
关注(0)|答案(4)|浏览(137)

**已关闭。**此问题为not reproducible or was caused by typos。目前不接受答案。

这个问题是由一个打字错误或一个无法再重现的问题引起的。虽然类似的问题在这里可能是on-topic,但这个问题的解决方式不太可能帮助未来的读者。
17小时前就关门了。
Improve this question
这行不通:

$object = Model::find($id);

这是可行的:

$object = Model::where('id', '=', $id)->first();

这说不通我是不是漏了什么我用的是Laravel 5.2.36

6yt4nkrj

6yt4nkrj1#

id必须是主键,请参阅:https://laravel.com/api/5.2/Illuminate/Database/Eloquent/Model.html#method_find

vq8itlhq

vq8itlhq2#

我遇到了同样的问题,我解决了这个问题,使用函数intval()$id转换为integer值:

$id = intval($id);
$object = Model::find($id);
yqlxgs2m

yqlxgs2m3#

public $primaryKey  = 'id';

使其成为模型文件中主键,或者可以使用

Model::firstOrNew(['id' => $id]);

但这里id应该是模型中的一个可填充属性。例如

protected $fillable = ['id'];
zqry0prt

zqry0prt4#

还有一个例子,修改结果的全局模型作用域,例如排序,似乎对这个函数有影响。

相关问题