Livewire не отображает данные из базы данных. На самом деле это так, если я записал данные - PullRequest
1 голос
/ 07 мая 2020

Следующий код не отображает данные. Но если я ввел данные, все работает

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- > назовите это работает

Web. php:

Route::livewire('/companies/{company}', 'company')->name('show-company');

layout / app.blade. php:

@livewireStyles @livewire('company') <script src="{{asset('js/app.js')}}"></script> @livewireScripts

Также, если я не используйте привязку модели маршрута, но ищите это так:

$this->company = Company::find($company);

он вызывает разрешение неразрешимой зависимости [Параметр # 0 [$ company]]

1 Ответ

0 голосов
/ 14 мая 2020

Похоже, вы получаете модель в своей функции монтирования, но при вызове ее из layout / app.blade. php вы не передаете никаких аргументов. Итак, вместо

@livewire('company')

вы можете вызвать что-то вроде:

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

Здесь я использую свой первый экземпляр модели компании, но Вы можете отправить то, что вам нужно. Но имейте в виду, что вы должны передать модель, потому что вы получаете модель в mount ().

Надеюсь, это сработает.

...