无法为模型的属性设置新值

咖啡添加剂

我正在尝试为 Model 的属性设置新值,但它不起作用。我在设置新值后立即使用 dd() 但它保留了旧值。

$business->users()
    ->where('userable_id', $business->id)
    ->where('userable_type', 'App\Models\Business')
    ->first()->first_name = "New";
塔拉索维奇

试试这个:

$business->users()
    ->where('userable_id', $business->id)
    ->where('userable_type', 'App\Models\Business')
    ->first()->update(['first_name' => "New"]);

直接对象属性分配 like$model->attribute = 'foo';仅影响内存中的状态,不会在数据库中进行更改。

所以你想去

$model->update(['attribute' => 'value']);

或者

$model->attribute = 'value';
$model->save();

参考


更新 1:

正如我在我的回答的评论中所写的那样,如果没有找到任何模型,有时first()可能会返回null我想提供建议firstOrFail()

请注意,没有预定义的处理程序用于ModelNotFoundexeption(由 抛出firstOrFail()),因此您希望在Handler类中手动处理此类错误,否则您将获得默认的 404 Laravel 页面。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

使用jQuery为属性设置新值

无法为属性设置动态值

如何访问模型属性的值并将其设置为ModelAndView

无法设置计算属性,但为“区域”设置了值

无法在MVC模型中将值设置为$ _SESSION变量

Laravel Eloquent无法为模型的关联属性分配值

为命名空间中的属性设置新值

无法设置属性值

如何使用数据为现有模型中的新模型字段设置默认值

无法为ApkVariantOutputImpl_Decorated设置只读属性'outputFile'的值

未捕获的TypeError:无法将属性值设置为null

无法从sqldatareader类型将属性值设置为目标类型

颜色选择器无法为属性设置值

如何将“ Html.SomeHelper”属性值设置为等于模型属性名称?

如何将模型字段的默认值设置为与OneToOneField属性值相同?

无法在用户模型上设置新属性(使用Devise&Rails 5)

取消设置新值并将其设置为使用defineProperty定义的属性

模型类的属性不能设置为null

Rails-为模型添加了新属性,值未保存

为Django模型中所有实体的属性设置相同值的有效方法

Django在模型中“无法设置属性”

无法将数据设置为 Java 模型

与用户相关的模型的某些属性的设置值

从xml元素值设置模型属性

Blazor 无法为“MyComponent”类型的属性“ScopeFactory”提供值,因为该属性没有设置器

未为新模型值分配OnPost

无法使用带点的计算属性值 - 无法设置为字符串 - JS

猫鼬无法将“”的属性设置为undefined,每当我尝试创建新条目时。

我无法为标签设置新行