Livewire 不显示来自数据库的数据。好吧,如果我添加数据,它实际上会起作用
Livewire does not display data from database. Well it actually does if I dd the data
以下代码不显示数据。但是,如果我添加数据,它就可以工作
Livewire Company.php:
public $company;
public function mount(Company $company) {
$this->company = $company;
}
public function render()
{
return view('livewire.company');
}
livewire.company:
<div>
{{$company->name}}</div>
虽然如果我 dd $company->name 它有效
Web.php:
Route::livewire('/companies/{company}', 'company')->name('show-company');
layouts/app.blade.php:
@livewireStyles @livewire('company') <script src="{{asset('js/app.js')}}"></script> @livewireScripts
此外,如果我不使用路由模型绑定,而是像这样查找它
$this->company = Company::find($company);
它抛出无法解析的依赖解析[参数#0 [$company]]
看起来您在安装函数中接收了一个模型,但是当从 layouts/app.blade.php 调用它时,您没有传递任何参数。
所以,而不是
@livewire('company')
你可以这样调用:
@livewire('company',['company' => App\Company::find(1)])
这里我使用了我的第一个公司模型实例,但你可以发送你需要的。但请记住,您应该传递一个模型,因为您在 mount() 中收到了一个模型。
希望有用。
以下代码不显示数据。但是,如果我添加数据,它就可以工作
Livewire Company.php:
public $company;
public function mount(Company $company) {
$this->company = $company;
}
public function render()
{
return view('livewire.company');
}
livewire.company:
<div>
{{$company->name}}</div>
虽然如果我 dd $company->name 它有效
Web.php:
Route::livewire('/companies/{company}', 'company')->name('show-company');
layouts/app.blade.php:
@livewireStyles @livewire('company') <script src="{{asset('js/app.js')}}"></script> @livewireScripts
此外,如果我不使用路由模型绑定,而是像这样查找它
$this->company = Company::find($company);
它抛出无法解析的依赖解析[参数#0 [$company]]
看起来您在安装函数中接收了一个模型,但是当从 layouts/app.blade.php 调用它时,您没有传递任何参数。 所以,而不是
@livewire('company')
你可以这样调用:
@livewire('company',['company' => App\Company::find(1)])
这里我使用了我的第一个公司模型实例,但你可以发送你需要的。但请记住,您应该传递一个模型,因为您在 mount() 中收到了一个模型。
希望有用。