#laravel #laravel-livewire
#laravel #laravel-livewire
Вопрос:
Итак, у меня есть компонент livewire, который имеет два свойства a $viewedJob
и $jobs
который представляет собой набор заданий, с которыми связаны $viewedJob
. моя логика такова. Когда вы нажимаете на задание, это задание становится $viewedJob
легкой задачей.
поэтому я настроил метод livewire для выполнения логики
public function viewJob($jobId)
{
$this->viewedJob = Job::find($jobId);
$this->jobs = $this->jobs;
}
и внутри моего интерфейса я называю это так
<button wire:click="viewJob({{$job}})" class="truncate">
{{$job->title}}
</button>
МОЯ ПРОБЛЕМА
проблема в том, что всякий viewJob
раз, когда вызывается метод, $jobs
массив обнуляется, каждый человек внутри него становится нулевым, и я получаю эту ошибку
я также пытался ничего не делать внутри viewJob
и все равно получал ту же ошибку
public function viewJob($jobId)
{
// although i dont do anything, i still get the same error!!
}
любые идеи помогут, спасибо за ваше время.
Комментарии:
1. Было бы полезно, если бы вы показали еще немного своего кода, его довольно сложно отладить, воспроизвести проблему или точно определить проблему с тем, что у вас есть в данный момент — я почти уверен, что это где-то еще в вашем коде (возможно, связано с некоторым повторным отображением или повторным увлажнением).. Но есть одна вещь —
$this->jobs = $this->jobs;
ничего не делает? Устанавливать задания для себя?2. Опубликуйте код, который выдает ошибку. Часть, в которой вы пытаетесь показать свойство owner в вашем представлении.
Ответ №1:
если ваш интерфейс-код находится в цикле переменной $jobs, вам следует попробовать это.
<button wire:click="viewJob({{$job->id}})" class="truncate">
{{$job->title}}
</button>
если это не работает, вы должны превратить свою коллекцию $jobs в массив, например:
$this->jobs = Job::all()->toArray();
и во внешнем интерфейсе вы можете написать, как:
<button wire:click="viewJob({{$job['id']}})" class="truncate">
{{$job['title']}}
</button>
Я надеюсь, что это сработает. Мой ответ основан на том, что ваш интерфейсный код находится внутри цикла.