Livewire不显示数据库中的数据。好吧,如果我添加数据的话

时间:2020-05-07 10:50:39

标签: laravel laravel-blade laravel-livewire

以下代码不显示数据。但是,如果我添加数据,它将起作用

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>

尽管我以$ company-> dd命名也可以

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);

它抛出了无法解析的依赖项解析[Parameter#0 [$ company]]

1 个答案:

答案 0 :(得分:0)

看起来您在安装函数中正在接收模型,但是从layouts / app.blade.php调用它时,您没有传递任何参数。 因此,代替

@livewire('company')

您可以这样称呼:

@livewire('company',['company' => App\Company::find(1)])

在这里,我使用公司模型的第一个实例,但是您可以发送所需的信息。但请记住,您应该传递模型,因为您会在mount()中收到模型。

希望它会起作用。