【问题标题】:if data = null error Invalid argument supplied for foreach()if data = null error 为 foreach() 提供的参数无效
【发布时间】:2018-05-18 22:10:22
【问题描述】:

我将向数据库中插入数组。如果有信息,就不会出错。 我试图从这个网站找到刷刷的解决方案。但这并不成功。

这是我的代码

控制器

 $new = new Checks();
    $new->nvr_id = Input::get('nvr_id');
    $new->check_date = Input::get('check_date');
    $new->status_record = Input::get('check_record');
    $new->status_hdd = Input::get('check_hdd');
    $new->status_camera = Input::get('check_camera');
    $new->comment = Input::get('comment');
    $new->save();
    $id = $new->id;
    $issue[] = Input::get('issue');
    if ($issue == null) {

    } elseif (!empty($issue)) {
        foreach ($issue as $item) {
            foreach ($item as $item1) {
                addIssues::create([
                    'check_id' => $id,
                    'issue_id' => $item1
                ]);
            }
        }
    }

create.blade.php

<select name="issue[]" id="issue" class="form-control" multiple="multiple">
    @foreach($issue as $key => $item) 
        <option value = "{{ $key }}" > { { $item } } < /option>
    @endforeach
</select>                              

数据库关系

issue 1 to m addIssues m to 1 check

【问题讨论】:

  • 在 $issue[] 行之后添加 $issue 的内容 = Input::get('issue');确保你得到的是一个数组。
  • 你能给我们看看 dd(Input::get('issue')); 的输出吗? ?
  • dd(Input::get('issue')); if select tags array:1 [▼ 0 => "1" ] if no tags = null
  • 如果 $issue = null,我无法成功处理
  • 我需要跳过代码 "if (!empty($issue)) { foreach ($issue as $item) { foreach ($item as $item1) { addIssues::create([ 'check_id' => $id, 'issue_id' => $item1 ]); } } }" 如果 $issue = null

标签: arrays database laravel


【解决方案1】:

把create.blade.php代码改成这个

<select name="issue[]" id="issue" class="form-control" multiple="multiple">
  @if(count($issue))
    @foreach($issue as $key => $item) 
        <option value = "{{ $key }}" > { { $item } } < /option>
    @endforeach
  @endif
</select>

@if 构造将处理错误。

【讨论】:

  • 仍然错误 = 为 foreach() 提供的参数无效
  • create函数的完整控制器代码是什么?
  • $data = Nvrs::find($id); $issue = Issues::where('done', '=', 'Open') ->pluck('order', 'id'); //dd($问题); return view('checks.create', compact('data', 'issue'));
猜你喜欢
  • 1970-01-01
  • 2011-05-17
  • 2011-02-07
相关资源
最近更新 更多