【问题标题】:Undefined variable: subjects (View: B:\laravel2\forum\resources\views\home.blade.php) [closed]未定义变量:主题(查看:B:\laravel2\forum\resources\views\home.blade.php)[关闭]
【发布时间】:2021-07-06 12:58:09
【问题描述】:

我已经尽力了,但我还是不明白,我尝试将 $subject 从视图调用到控制器,但我的网络总是显示此错误消息

这是我的控制器

<?php

namespace App\Http\Controllers\Forum;

use App\Http\Controllers\Controller;
use App\subjects;
use Illuminate\Http\Request;

class ThreadController extends Controller
{
    public function __construct()
    {
        $this->middleware('Auth');
    }

    public function create()
    {
        $subjects = Subjects::all();
        return view("threads.create", ['subjects' -> $subjects]);
    }
}

这是我的刀片模板

    <div class="form-group">
        <label for="subject">Subject</label>
        <select  name="subject" id="subject" class="form-control">
            <option name="subject" id="subject" class="form-control">
            </option>
            @foreach ($subjects as $subject)
                <option value="{{ $subject->id }}">{{ $subject->name }}</option>
            @endforeach
        </select>
    </div>

这是错误信息

错误异常

未定义变量:主题(查看:B:\laravel2\forum\resources\views\home.blade.php)

【问题讨论】:

  • 返回视图("threads.create",compact('subjects'));
  • 我很惊讶您没有收到其他错误。您使用了错误的箭头类型。 'subjects' -&gt; $subjects 应该是 'subjects' =&gt; $subjects

标签: php laravel


【解决方案1】:
    return view("threads.create", ['subjects' -> $subjects]);

必须转换为

    return view("threads.create", ['subjects' => $subjects]);

或者你可以使用php函数compact

return view("threads.create",compact('subjects');

【讨论】:

    猜你喜欢
    • 2019-11-07
    • 2019-11-07
    • 2021-01-08
    • 2018-07-10
    • 2021-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-22
    相关资源
    最近更新 更多