Php 在Laravel Livewire中持久化雄辩的构建器实例
在mount lifecycle hook期间实例化时,我希望保留\light\Database\elount\Builder的一个实例,以便将其用于查询。问题是我无法将其设置为公共属性,因为它将抛出Livewire\Exceptions\PublicPropertyTypeNotAllowedException,如下所示。我不能在会话中保存它,因为它是一个PDO实例,PDO实例不能序列化或取消序列化。 有什么想法吗,伙计们 编辑: 控制器:Php 在Laravel Livewire中持久化雄辩的构建器实例,php,laravel,eloquent,laravel-livewire,Php,Laravel,Eloquent,Laravel Livewire,在mount lifecycle hook期间实例化时,我希望保留\light\Database\elount\Builder的一个实例,以便将其用于查询。问题是我无法将其设置为公共属性,因为它将抛出Livewire\Exceptions\PublicPropertyTypeNotAllowedException,如下所示。我不能在会话中保存它,因为它是一个PDO实例,PDO实例不能序列化或取消序列化。 有什么想法吗,伙计们 编辑: 控制器: public function index() {
public function index() {
$tableQuery = User::query();
return view('table', compact('tableQuery'));
}
table.blade.php:
<livewire:table
:tableQuery=$tableQuery
>
您可以在livewire中使用模型
类表扩展组件{
公共查询;
公共功能挂载{
$this->tableQuery=User::query;;
}
公共功能呈现{
返回视图'livewire.table';
}
}
你能把你的组件代码放进去吗?我忘了提到组件应该是动态的,这样其他模型也可以重用它,尽管它给了我火花,我很感激,谢谢!
class Table extends Component{
private $tableQuery;
public function mount($tableQuery){
$this->tableQuery = $tableQuery;
}
public function render(){
return view('livewire.table');
}
}