我在livewire组件上的复选框出现了双重问题。
我试图在我的表单表中保存两个复选框。这些复选框在另一个名为“Garde_type”的表中获取它们的值。复选框“home”在我的表单表中保存ID 1,复选框“visit”保存ID 2。这里一切都很简单...但是
Laravel livewire问我属性规则来保存我的数据。好吧!但是当我把规则我的2复选框:在我的表单中,无法选中复选框。当我选中它们时,它们会立即选中/取消选中=第一个问题。第二个问题:无论勾选/取消勾选...每次我提交我的表格,这两个复选框被认为是“选中”,然后保存在我的数据库。
在这里你可以看看我的代码,我尝试了很多东西,但我没有任何想法了。
这是带电组件“控制器”:
class VilleSelect extends Component {
public $visit;
public $home;
public $user_id;
protected function rules() {
return [
'visit' => 'nullable',
'home' => 'nullable',
];
}
public function submit() {
$annonces=annonces::create([
'home' => $this->home->id,
'visit' => $this->visit->id,
]);
$annonces->save();
}
这是复选框:
<div class="mt-4 space-y-4">
<div class="flex items-start">
<div class="flex h-5 items-center">
<x-jet-input wire:model="home" value="{{$home->id}}" type="checkbox"/>
</div>
<div class="ml-3 text-sm">
<x-jet-label for="home" value="{{$home->garde_type}}"/>
</div>
</div>
<div class="flex items-start">
<div class="flex h-5 items-center">
<x-jet-input wire:model='visit' value="{{$visit->id}}" type="checkbox"/>
</div>
<div class="ml-3 text-sm">
<x-jet-label for="visit" value="{{$visit->garde_type}}"/>
</div>
</div>
</div>
3条答案
按热度按时间z9smfwbn1#
当调用您的属性时,没有理由专门调用ID,因为您已经设置了家庭和访问ID。
尝试
yftpprvb2#
现在我的复选框不再有问题了,但它不会像我想的那样工作。
这是我的复选框:
这里是我的控制器:
但是我不想在表单中传递值“1”和“2”。
"我尝试的是“
并以下列形式:
但我试过的都不管用。
你知道吗?
ej83mcc03#
我被你的代码搞糊涂了。如果你已经知道了Garde_type的ID,为什么还要再找一遍?
例如,将值设置为ID,然后搜索Garde_type以查找您已经拥有的ID是多余的。
既然已经有了Garde_type的ID,为什么还要在这里获取它呢?
你到底想干什么?