gpt4 book ai didi

php - 具有多个参数的 Laravel FindOrNew

转载 作者:可可西里 更新时间:2023-11-01 00:02:20 25 4
gpt4 key购买 nike

我正在使用 laravel FindOrNew() 来获取带有两个参数的条目,或者创建一个新的:

$option = \App\Option::findOrNew(['user_id' => $this->id , 'option_name' => $optionName]);

我想为名称在 $optionName 中的用户获取一个选项。问题是它只检查 user_id,当 option_name 不存在时不会创建一个新的。相反,它会“找到”与 $optionName 值不匹配的一个。

有人可以说我做错了什么吗?我怎样才能做到这一点?

最佳答案

长话短说:

你用错了方法。您正在寻找 firstOrNew() 方法,而不是 findOrNew()

解释:

findOrNew()find() 方法的扩展,它仅适用于 id。它有两个参数,第一个是要查找的 id(或 id 数组),第二个是要检索的列。它将您传入的数组视为要查找的 ID 数组。

firstOrNew() 方法采用一个参数:一组要搜索的属性。它将把数组变成一个 where 子句,然后在查询构建器上调用 first()。如果没有返回结果,它会返回一个填充了这些属性的新实例。

关于php - 具有多个参数的 Laravel FindOrNew,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30929696/

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