【问题标题】:Laravel - passing variable from controller to view - undefined variableLaravel - 将变量从控制器传递到视图 - 未定义的变量
【发布时间】:2017-06-06 10:05:40
【问题描述】:

我是 Laravel 的新手,但我一直在努力。我已经搜索了该网站,但找不到具体的帮助。我在我的控制器中创建了一个变量(并根据教程检查了 1000 次)并将其传递给视图,但浏览器给出了错误 “未定义的变量”

$company 在发布后保存表格行。我怀疑它可能与它是一个数组有关。

控制器资源功能展示

public function show($comp_id)
{
    $company = Company::find($comp_id);
    return view('companies.show')->with('company', $company);   
}

在视图中:

@section('content')
    <h1>{{ $company->CompanyName }}</h1>

我确定这是一个简单的错误,但请帮忙?

【问题讨论】:

  • 我看到那里有很多语法错误。
  • 检查控制器中的dd($comp_id)是否返回正确的值

标签: laravel view controller


【解决方案1】:

原来我必须将 show($id) 设置为我的表格列中的特定 ID 名称。
public function show($id) $company = Company::where('Comp_id', $id)->first(); return view('companies.show')->withCompany($company);
无论如何感谢您的帮助。

【讨论】:

  • 一切都好,结局好。您能否接受您的回答,以便其他人知道此问题已解决?
  • 好的,不知道我可以接受我自己的答案,但这是有道理的。
【解决方案2】:

您需要解决一些问题。请试试这个。

请在您的控制器中修改您的方法,如下所示:

public function show($comp_id)
{
    $company = Company::find($comp_id);

    return view('companies.show', compact('company'));
}

在视图中:

@section('content')
<h1>{{ $company->CompanyName }}</h1>
@stop

【讨论】:

  • 我相信这是 Laravel 5 的语法,而 PDevH 的问题暗示他使用的是 Laravel 4。
  • @ТомицаКораћ 好吧,在这种情况下,让我们等他告诉我们。如果是这样,那么我们将改变:)
  • 我使用的是 Laravel 5.3。我已经测试了您建议的所有变体,特别是 compactwith 的括号和使用。没有运气。
  • 您是否将 'use App\Company;` 添加到命名空间?
【解决方案3】:

正如 Sanzeeb 所说,您的语法有几个错误。让我们先尝试解决这些问题。

请在您的控制器中修改您的方法,如下所示:

public function show($comp_id)
{
    $company = Company::find($comp_id);

    return view('companies.show')->with('company', $company);
}

那么请像这样修改你的视图:

@section('content')

<h1>{{ $company->CompanyName }}</h1>

让我们看看这是否有帮助。

【讨论】:

  • Eitan,您对我的代码的引用在变量和类之间显示了一个分号,但在我的提交中它确实有一个等号。您在“返回视图”中的包围与 Tom Kopah 建议的不同。我测试了两者,但仍然得到:ErrorException in 67ad97908c79b9baf76653c370849a03da33d1aa.php line 5: Undefined variable: company (View: C:\Sites\AI\resources\views\companies\show.blade.php)
  • 对不起,这是我关于 SO 的第一个问题,所以我仍在学习语法和协议。似乎@Pauwelyn 在从我在问题中发布的图像转录我的代码时犯了一些错误。 return view 行的末尾有一个括号,我的 View 代码末尾确实有一个 @stop
猜你喜欢
  • 1970-01-01
  • 2014-12-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-18
  • 1970-01-01
相关资源
最近更新 更多