[英]Laravel livewire: use as a laravel controller
我在我的應用程序中使用進行即時搜索。 實際上,我顯示了該機構及其在我的控制器中顯示的文件,如下所示:
public function show($id)
{
$etablissements = Etablissement::find($id);
$faculty = $etablissements->filieres;
return view('etablissements/edhec/touteslesfilieresedhec', compact('faculty','etablissements'));
}
現在我嘗試在我的 livewire 組件中做同樣的事情,以便能夠進行如下搜索:
class SchoolfaclutysList extends Component
{
public $faculty;
public function mount($id)
{
$etablissements = Etablissement::find($id);
$this->faculty = $etablissements->filieres;
}
public function render()
{
return view('livewire.schoolfaclutys-list');
}
}
但他把空白頁還給我查看刀片
<div class="container my-5">
<div class="row">
<div class="col text-center">
<a href="{{ route('filiere.show', ['filiere' => $etablissements->id]) }}" class="btn btn-outline-success rounded-pill mr-3 font-weight-bold text_info">Informations générales</a>
<a href="{{ route('filieresedhec') }}" class="btn btn-outline-success rounded-pill ml-5 font-weight-bold text_filière">Filières/Facultés</a>
</div>
</div>
</div>
@livewire('schoolfaclutys-list')
</div>
<!-- Debut footer -->
@include('layouts/partials/_footer')
<!-- Fin footer -->
網頁版
route::resource('school','schoolController');
是否可以使其作為 Laravel 控制器工作? 謝謝
使用“模型路由綁定”將模型的實例直接傳遞到構造中,在 Livewire 中是mount()
方法。
Route::get('school/{etablissement}', \App\Http\Livewire\SchoolfaclutysList::class)->name('school.show');
然后將 Blade-view 中需要的兩個變量聲明為類的公共屬性。 只有類上的公共屬性才會被傳遞到刀片中(或者那些通過data
參數傳遞給render()
方法中的view()
方法的屬性)。
class SchoolfaclutysList extends Component
{
public $faculty;
public $etablissement;
public function mount(Etablissement $etablissement)
{
$this->etablissement = $etablissement;
$this->faculty = $this->etablissement->filieres;
}
public function render()
{
return view('livewire.schoolfaclutys-list');
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.