在我的控制器中,我的控制器中有我的模型集合:
$ngo = Ngo::where('slug', $slug)->firstOrFail();
$projects = $ngo->projects()->get()->toArray();
$online_jobs = $ngo->jobs()->online()->get()->toArray();
$infield_jobs = $ngo->jobs()->inField()->get()->toArray();
$projects_missions = array_merge($projects, $online_jobs, $infield_jobs)
然后在我看来,我打电话给一个循环:
@foreach ($projects_missions as $j)
<h5 class="sBlack">{{ $j['title'] }}</h5>
@if ($j['type'] == "donation_money")
@php $current_project = \App\Project::findOrFail($j['id']); @endphp
<div class="progress-bar"><span class="bar" style="width:{{ $current_project->goalPercentage }}%;"></span></div>
@elseif ($j['type'] == "field")
@php $current_job = \App\Job::findOrFail($j['id']); @endphp
<p class="info"> <img class="icon" src="{{ asset('assets/images/icons/' . implode( ",", $current_job->getRelatedCategoriesImage()))}}" />{{ implode( ", ", $current_job->getRelatedCategoriesTitle()) }}</p>
@endif
正如您所看到的,我希望在我的视图中访问我的模型,这样我就可以调用一个函数。它的工作方式与此类似,但我知道在我的视图中定义变量并不是一个好习惯。 那么我该怎么做才能得到我的$ current_job或$ current_project模型而不是这样定义:
@php $current_project = \App\Project::findOrFail($j['id']); @endphp
答案 0 :(得分:0)
您可以将控制器中的变量$current_project
传递到您的视图中,如下所示:
$current_project = \App\Project::findOrFail($j['id']);
return view('view_name', ['current_project' => $current_project]);
然后在您的视图中访问它。
答案 1 :(得分:-1)
是的,您可以像这样在视图中调用模型
@php
use App\Category;
use App\Exchange;
@endphp
这里的类别和Exchange是我的模型,你可以这样使用,制作那个模型的对象 $ exchange = new Exchange(); 现在,您可以在任何位置访问刀片中的$ exchange变量