gpt4 book ai didi

php - Eloquent:find() 和 where() 用法 laravel

转载 作者:IT王子 更新时间:2023-10-28 23:52:03 30 4
gpt4 key购买 nike

我正在尝试使用其 ID 从 posts 数据库表中获取记录。一段时间以来,我一直在研究 find() 方法,对它为什么不起作用感到困惑。这是我的查询,对我来说看起来正确但不起作用:

$post = Post::find($id);
$post->delete();

我不情愿地这样做了:

$post = Post::where('id', $id);
$post->delete();

令人惊讶的是,它确实有效,但我不知道如何。

我也知道,与 find() 不同,where() 是一个查询生成器,所以我也可以这样使用它:Post::where('id', $id)->first()

对这些方法的工作方式有什么不同的想法吗?

最佳答案

您的代码看起来不错,但有几点需要注意:

Post::find($id); 作用于主键,如果您已将模型中的主键设置为 id 以外的其他值,则执行以下操作:

protected  $primaryKey = 'slug';

然后 find 将改为按该键搜索。

Laravel 还期望 id 是一个整数,如果您使用的不是整数(例如字符串),您需要将模型上的递增属性设置为 false:

public $incrementing = false;

关于php - Eloquent:find() 和 where() 用法 laravel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40725353/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com