Php 拉雷维尔5:雄辩的;营业时间表格模型

Php 拉雷维尔5:雄辩的;营业时间表格模型,php,sql,forms,laravel,eloquent,Php,Sql,Forms,Laravel,Eloquent,我正在尝试为我的用户实施工作时间。所以我有基本用户表和用户工作时间表,如下所示: | id | user_id | weekDay | start_time | end_time | created_at | updated_at | |---:|---------|--------:|------------|----------|------------|------------| | 1 | 10 | 1 | 10:00:00 | 12:00:00 | ...

我正在尝试为我的用户实施工作时间。所以我有基本用户表和用户工作时间表,如下所示:

| id | user_id | weekDay | start_time | end_time | created_at | updated_at |
|---:|---------|--------:|------------|----------|------------|------------|
| 1  | 10      | 1       | 10:00:00   | 12:00:00 | ...        | ...        |
| 2  | 10      | 1       | 13:30:00   | 18:00:00 | ...        | ...        |
现在的问题是: 如何查询此模型和设置表单::model()/输入,laravel将在更新特定用户的营业时间时自动使用提供的值填充必要的输入

我在考虑这个输入组织:

| ...     | Work From | Work From | add new row |
|---------|-----------|-----------| ----------- |
| Monday  | 10:00:00  | 12:00:00  | +           |
| Monday  | 13:30:00  | 18:00:00  | +           |
| Tuesday | <input>   | <input>   | +           |
|…|从|从|添加新行|
|---------|-----------|-----------| ----------- |
|星期一| 10:00:00 | 12:00:00 |+|
|星期一| 13:30:00 | 18:00:00 |+|
|星期二| | |+|
请注意,用户可以根据自己的需要每天设置任意次数(添加新行列)


感谢您的想法

解决方案是将您的模型转换为阵列:

{!! Form::model($model->toArray(), []) !!}
    {!! Form::text('business_hour[0][from]', null, []) !!}
    {!! Form::text('business_hour[0][to]', null, []) !!}
    {!! Form::text('business_hour[1][from]', null, []) !!}
    {!! Form::text('business_hour[2][to]', null, []) !!}
{!! Form::close() !!}
根据您的数组结构-在后台,array_get()助手正在运行,字段名将使用transformKey()方法转换

如果将模型作为对象交付,那么模型中的所有内容也必须是对象,则不可能使用以下内容:

{
    'key' => [
        'hallo' => 'welt'
    ]
}

我自己还没有遇到过这种情况,但我发现另一个stacklink在哪天晚上给出了一个解决方案。这里的解决方案不使用Form::model,而是使用Form::open。我们也遇到了类似的问题,但不好的是laravel无法自动匹配数组输入名称。我认为你必须在所有的工作时间里循环。。。问题在于FormBuilder中的transformKey()方法。这会将可以标识数组索引/键的每个字符转换为下划线或其他符号。。。唯一的方法是将模型转换为数组,并使用数组作为模型,然后它可以将“example[0]”之类的名称与数组元素匹配[example=>[0=>'xxx']]
{
    'key' => [
        'hallo' => 'welt'
    ]
}