0
私の製品フォームにチェックボックスがありますが、デフォルトでチェックボックスはチェックされていません。チェックボックスがオンの場合チェックされている場合は、1がデータベースに挿入され、製品がフロントページに掲載されることが通知されます。チェックボックスがチェックされているかどうか確認するlaravel 5.2
私が抱えている問題は、データベースに1があるにもかかわらず、製品を編集してチェックボックスがオンになっていない場合です。私は多くの解決策を試しましたが、うまくいきません。ここで
は私の関数である。ここでは
public function addPostProduct(ProductRequest $request) {
// Check if checkbox is checked or not for featured product
$featured = Input::has('featured') ? true : false;
// Create the product in DB
$product = Product::create([
'product_name' => $request->input('product_name'),
'price' => $request->input('price'),
'cat_id' => $request->input('cat_id'),
'featured' => $featured
]);
// Save the product into the Database.
$product->save();
// Flash a success message
flash()->success('Success', 'Product created successfully!');
// Redirect back to Show all products page.
return redirect()->route('admin.product.show');
}
は(ジャストチェックボックスを示す)私の追加形式は次のとおりです。ここ
<div class="form-group">
<label>Fetaured Product</label><br>
<input type="checkbox" name="featured" value="1">
</div>
は私の編集フォームは、(単に示していますチェックボックス):
<div class="form-group">
<label>Fetaured Product</label><br>
<input type="checkbox" name="featured" value="1">
</div>
そして、私のテーブル構造:
Schema::create('products', function (Blueprint $table) {
$table->increments('id');
$table->string('product_name');
$table->decimal('price', 10, 2);
$table->integer('cat_id');
$table->integer('featured')->default(0);
$table->timestamps();
});
チェックボックスは、魔法の理由だけで、あなたの中に価値が、自分自身をチェックしません。データベース。あなたがデフォルトでチェックされるようにするには 'checked'属性を出力する必要があります。 – CBroe
このようなものがあります:** featured === 1? "checked = checked": ""}}> ** – David
これはかなり一般的な方法です。 (これは[ブール値属性](https://www.w3.org/TR/html5/infrastructure.html#boolean-attribute)なので、少なくともHTML5では単純な 'checked'で十分ですが) – CBroe