我有一個概覽網站,頂部有一個過濾器。用戶可以對位置和部門進行篩選。
控制器的代碼如下所示:
public function index(Request $request)
{
$posts = Post::orderBy('titel')
->get();
$standorts = Standort::get();
$abteilungs = Abteilung::get();
if ($request->filled('s')) {
$query = strtolower($request->get('s'));
$posts = $posts->filter(function ($post) use ($query) {
if (Str::contains(strtolower($post->Titel), $query)) {
return true;
}
return false;
});
}
return view('posts.overview', ['posts' => $posts], ['standorts' => $standorts]);
}
我需要提供$abteilungs = Abteilung::get();aswell,但是當我像這樣回傳它時:
return view('posts.overview', ['posts' => $posts], ['standorts' => $standorts], ['abteilungs' => $abteilungs]);
括號中的最后一部分是灰色的,我無法訪問它。
在刀片檔案中,我像這樣訪問它們:
<div class="text-left mb-4 h-12">
<select name="standort" id="standort" class="h-full w-full flex justify-center bg-white bg-opacity-95 rounded focus:ring-2 border border-gray-300 focus:border-indigo-500 text-base
outline-none text-gray-700 text-lg text-center leading-8">
<option selected="true" disabled="disabled">Standort</option>
@foreach($standorts as $standort)
<option value="{{ $standort->standort_name }}">{{ $standort->standort_name }}</option>
@endforeach
</select>
</div>
<button hljs-number">4 col-end-4 w-11/12 text-white text-2xl px-4 py-3 rounded text-base font-medium
bg-gradient-to-r from-green-400 to-blue-500 float-right shadow transition duration-500 ease-in-out transform hover:-translate-y-1 hover:scale-100">
Suchen
</button>
</form>
@foreach($posts as $post)
<div
hljs-number">10 grid-cols-3 grid-rows-3 gap-4 shadow-2xl mb-10 bg-gradient-to-r from-green-400 to-blue-500 border-solid border-2 border-black rounded-lg">
<!--Card 1-->
<a href="{{ route('select', $post->Stellenanzeigen_ID) }}">
<div
hljs-number">3 bg-gray-100 shadow-2xl border-solid border-2 border-gray-500 rounded-lg">
<div hljs-number">2 pl-6 mt-3"> {{ $post->Titel }}</div>
<div hljs-number">6 py-4 mt-2 ring-4 ring-opacity-90">
<button type="submit" hljs-number">4 py-3 rounded text-base font-medium
bg-gradient-to-r from-green-400 to-blue-500 float-right shadow transition
duration-500 ease-in-out transform hover:-translate-y-1 hover:scale-100">Direkt
bewerben!
</button>
<div hljs-number">2 pl-4 font-medium text-base font-bold font-serif">
Standort: {{ $post->Standort }}</div>
<div hljs-number">2 pl-4 font-medium text-base font-bold font-serif">
Kontakt: {{ $post->Kontakt }}</div>
<button type="submit" hljs-number">4 py-3 rounded text-base font-medium
bg-gradient-to-r from-green-400 to-blue-500 float-right shadow transition duration-500 ease-in-out transform hover:-translate-y-1 hover:scale-100">
Details!
</button>
<div hljs-number">2 pl-4 font-medium text-base font-bold font-serif">
Startdatum: {{ $post->startdate }}</div>
<div hljs-number">2 pl-4 font-medium text-base font-bold font-serif">
Enddatum: {{ $post->enddate }}</div>
<div hljs-number">6 pt-4 pb-2"></div>
</div>
</div>
</a>
</div>
@endforeach
對于回傳陳述句中的第三部分,我有以下代碼:
<div class="text-left mb-4 h-12">
<select name="abteilung" id="abteilung" class="h-full w-full flex justify-center bg-white bg-opacity-95 rounded focus:ring-2 border border-gray-300 focus:border-indigo-500 text-base
outline-none text-gray-700 text-lg text-center leading-8">
<option selected="true" disabled="disabled">Abteilung</option>
@foreach($abteilungs as $abteilung)
<option value="{{ $abteilung->abteilung_name }}">{{ $abteilung->abteilung_name }}</option>
@endforeach
</select>
</div>
有沒有辦法讓這個作業或者回傳視圖僅限于兩個引數?
uj5u.com熱心網友回復:
你也可以這樣試試
$data = [
'posts' => $posts,
'standorts' => $standorts,
'abteilungs' => $abteilungs,
];
return view('posts.overview')->with($data);
或者,
return view('post.overview',compact('posts','standorts','abteilungs'));
uj5u.com熱心網友回復:
您可以通過多種方式傳遞變數以查看..
方式一:
$variables = [
'variable1'=>'something goes here',
'variable2'=>'something goes here',
];
return view('view-file')->with($variables );
方式二:
return view('view-file')->with(['variable1'=>'something goes here','variable2'=>'something goes here']);
方式3:
$variable1 = 'something goes here';
$variable2 = 'something goes here';
return view('view-file')->withVariabl1($variable1);
or
return view('view-file')->withVariabl2($variable2);
or
return view('view-file')
->withVariable2($variable2)
->withVariable1($variable1);
方式四
$variable1 = 'something goes here';
$variable2 = 'something goes here';
return view('view-file',compact('variable1','variable2'));
希望您清楚如何以多種方式發送變數以查看。如果您想傳遞 1 或 2 個變數,并且以后不需要增加變數,則建議使用方式 4。但從我的觀點和現實生活經驗來看,我總是建議使用方式 1
uj5u.com熱心網友回復:
要將多個變數傳遞給您的視圖,您應該這樣做
return view('posts.overview', ['posts' => $posts, 'standorts' => $standorts, 'abteilungs' => $abteilungs]);
uj5u.com熱心網友回復:
在視圖方法中,第二個引數用于將資料傳遞給視圖,您可以傳遞任意數量的變數,如下所示:
return view('post.review',['variableOne' => $variableOne,'variableTwo' => `$variableTwo,'variableThree' => $variableThree])`
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/368471.html
標籤:php 拉拉维尔 laravel-blade
上一篇:如何將字串轉換為變數名-PHP?
