Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
laravel livewire异常:不支持使用多个模型连接排队集合_Laravel_Laravel Livewire - Fatal编程技术网

laravel livewire异常:不支持使用多个模型连接排队集合

laravel livewire异常:不支持使用多个模型连接排队集合,laravel,laravel-livewire,Laravel,Laravel Livewire,我正在乞求我的Livewire之旅,并创建了一个列表组件,其中包含每个列表元素的表单组件,当我试图使其全部正常工作时,我不断得到以下前所未有的异常: 使用多个模型连接排队集合的LogicException为 不支持 我对我的项目中的每个模型使用相同的单一连接,并且我没有故意在我当前工作的任何组件中排队,因此我不知道从哪里开始调试此异常。错误消息也没有多大帮助。事实上,除了发布整个项目,我甚至不知道在这里为你们发布什么来帮助我。。。我想我只是想寻找一些线索,看看从哪里开始修复这个问题,所以非常感谢

我正在乞求我的Livewire之旅,并创建了一个列表组件,其中包含每个列表元素的表单组件,当我试图使其全部正常工作时,我不断得到以下前所未有的异常:

使用多个模型连接排队集合的LogicException为 不支持

我对我的项目中的每个模型使用相同的单一连接,并且我没有故意在我当前工作的任何组件中排队,因此我不知道从哪里开始调试此异常。错误消息也没有多大帮助。事实上,除了发布整个项目,我甚至不知道在这里为你们发布什么来帮助我。。。我想我只是想寻找一些线索,看看从哪里开始修复这个问题,所以非常感谢您的帮助

以下是错误消息堆栈跟踪:

C:\Users\bfcba\OneDrive\aplicaciones\duki\vendor\laravel\framework\src\illumb\Database\elounce\Collection.php:705

公共函数getQueueableConnection()
{
如果($this->isEmpty()){
返回;
}
$connection=$this->first()->getConnectionName();
$this->each(功能($model)使用($connection){
如果($model->getConnectionName()!==$connection){
抛出新的LogicException('不支持使用多个模型连接排队集合');
}
});
返回$connection;
}
我很乐意公布你认为必要的所有信息。请告诉我


提前感谢。

当您从数据库中获得一个集合,并尝试将一个新对象推送到该集合时,就会发生这种情况

$this->members = $club->members;
$this->members->push(Member::make());
$this->members = $club->members->all();
$newMember = Member::make();
$this->members[] = $newMember;
Livewire论坛的一些人建议将新对象的连接设置为集合对象使用的连接,然后再将其推送到所述集合。然而,这对我来说并不奏效

$this->members = $club->members;
$newMember = Member::make()->setConnection('mysql')
$this->members->push($newMember);
我发现的一个解决方法是使用数组而不是集合

$this->members = $club->members;
$this->members->push(Member::make());
$this->members = $club->members->all();
$newMember = Member::make();
$this->members[] = $newMember;

忘记提及,在添加、更新或删除记录后刷新组件时,会发生此错误(局部错误)。谢谢@howellmartinez。我不断地发现自己在使用livewire时陷入了死胡同,所以我决定放弃这项技术,回到我更熟悉的Laravel-Vue。干杯