簡體   English   中英

Laravel livewire:用作 Laravel 控制器

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM