【问题标题】:Laravel Nova | How can i pass default value while storing Boolean field from Laravel nova resourceLaravel 新星 |从 Laravel nova 资源存储布尔字段时如何传递默认值
【发布时间】:2019-12-11 03:06:57
【问题描述】:

我在数据库表中有一个字段,其默认值为 true 现在,当有人从 Laravel nova 创建一个条目时,我想默认传递 true 而不在创建和更新表单中显示该字段......所以任何人都可以帮助我如何解决这个问题。

Boolean::make('Is Active', 'is_active')->onlyOnIndex(),

【问题讨论】:

    标签: laravel laravel-5 laravel-nova


    【解决方案1】:

    这对我有用

        Boolean::make('Active','active')
            ->trueValue('1')
            ->falseValue('0')
            ->withMeta(['value' => $this->active ?? true]),
    

    在创建时活动列的值将为空/空,因为它是一个新的“项目”并且对数据库默认值一无所知这会将表单活动字段设置为 true。更新时它将使用 DB 值。

    【讨论】:

    • 感谢您的回答,但这不会起作用,因为 $this->active 如果不检查,则始终为 false ....
    【解决方案2】:

    您可以在模型上设置默认值,nova 应该会自动选择它。

    https://laravel.com/docs/5.8/eloquent#default-attribute-values

    protected $attributes = [
        'is_active' => true,
    ];
    

    【讨论】:

    • 嘿robbin 我已经在数据库级别设置了默认值,但是当有人从 Laravel nova 存储或创建记录时,我只想将默认值设置为 true。
    • 我在普通 laravel 项目中使用该字段的地方很多,但仅在 nova 中我想传递默认值
    • 这可能是您正在寻找的东西吗stackoverflow.com/questions/52389551/…
    • 我认为没有办法,所以您的回答将有助于完成我的任务,谢谢。
    猜你喜欢
    • 2021-12-11
    • 2019-07-20
    • 2019-12-08
    • 1970-01-01
    • 2023-04-04
    • 2020-12-14
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多