Laravel Livewire:在任何方法调用之后,我的数组都被取消了
Laravel Livewire: after any method call, my array gets nullified
所以我有一个 livewire 组件,它有两个属性 $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!!
}
任何想法都会有所帮助,感谢您的宝贵时间。
如果您的前端代码在 $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>
我希望它能奏效。我的回答是基于你的前端代码在一个循环中。
所以我有一个 livewire 组件,它有两个属性 $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!!
}
任何想法都会有所帮助,感谢您的宝贵时间。
如果您的前端代码在 $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>
我希望它能奏效。我的回答是基于你的前端代码在一个循环中。