![](/img/trans.png)
[英]Property [id] does not exist on the Eloquent builder instance in Laravel 8 and Livewire 2.7
[英]Persisting Eloquent Builder Instance in Laravel Livewire
有一個\\Illuminate\\Database\\Eloquent\\Builder
實例,我想在實例化時(在mount
生命周期掛鈎期間)保留它,以便我可以將它用於查詢。 問題是我無法將其設置為公共屬性,因為它會拋出Livewire\\Exceptions\\PublicPropertyTypeNotAllowedException
(如下)。 我也無法將它保存在會話中,因為它是一個 PDO 實例,並且 PDO 實例不能被序列化或反序列化。
有什么想法嗎?
編輯:
控制器:
public function index() {
$tableQuery = User::query();
return view('table', compact('tableQuery'));
}
table.blade.php:
<livewire:table
:tableQuery=$tableQuery
>
應用\\Http\\Livewire\\表:
class Table extends Component{
private $tableQuery;
public function mount($tableQuery){
$this->tableQuery = $tableQuery;
}
public function render(){
return view('livewire.table');
}
}
您可以在livewire
使用 Model
class Table extends Component{
public $tableQuery;
public function mount(){
$this->tableQuery = User::query();;
}
public function render(){
return view('livewire.table');
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.