2017-12-04 2 views
1

私のコントローラには、作成機能で入力した特定のデータの宛先列と起点フィールドがあります。しかし、私は、ここでいくつかのデフォルト値を持っている以下のように:Laravelで提出フォームにデフォルト値を追加

$shipment->shipment_billing_status = 1; 
    $shipment->created_by = $user_id; 
    $shipment->cn_billtoName = request('cn_billtoName'); 

あなたはいつもしかし1である必要があり$shipment->shipment_billing_statusデフォルト値を見ることができるように、極端な場合には、私のことができるようにするために、ユーザをしたいと思います"No Settle"と "No Charge"という2つのチェックボックスの間、または2と3の間の値を(必要に応じて)選択します。

したがって極端な場合は、 「定住なし」チェックボックスまたは「無償」チェックボックスは選択されていません。

答えて

1

それはnullだ場合はそうのように、入力のデフォルト値を設定することができます。

$shipment->shipment_billing_status = request("shipment_billing_status", 1); 

request("shipment_billing_status")nullであれば、それは1$shipment->shipment_billing_statusを設定します。

$billingStatus = request("shipment_billing_status"); 
if(!$billingStatus || $billingStatus == ""){ 
    $shipment->shipment_billing_status = 1; 
} else { 
    $shipment->shipment_billing_status = $billingStatus; 
} 

これはPOSTデータに値を送信するケースを処理する必要がありか:私はあなたのような処理する必要がありので、これは、(入力が送られたが、空の値に設定されている)""のために働くとは思いませんそれを完全に省略します。

0

shipment_billing_statusはチェックボックスであり、チェックボックスが選択されていない場合はshipment_billing_statusフィールドがありません。

この問題を回避するには、次のようになります。

$shipment->shipment_billing_status = (isset($request->shipment_billing_status) && !empty($request->shipment_billing_status)) ? $request->shipment_billing_status : 1;

説明:$要求はshipment_billing_statusフィールドを持っており、それが、その後shipment_billing_statusが使用され、それ以外のデフォルト値が割り当てられ、空ではない場合の条件です。

0

のは、(一つだけの状態またはnoneを受け入れているため、単一の場合)のチェックボックスの入力の名前がステータスであることを言ってみましょう、私はあなたがこのような何かを行うことができると信じて:

// Inside the store method. 

$status = request('status') ?: 1; 

$shipment->shipment_billing_status = $status; 

うまくいけば、これがなければなりませんトリックを行う。あなたの出荷モデルに

+0

チェックボックスがオフの場合、フォームはそれを送信しません。すると '$ request-> status'にエラーが発生します。 –

+0

ああ、そうだね、それを指摘してくれてありがとう。 –

0

行くと

$table->integer('Billing_status')->default(1);

この行を追加しますが、あなたの移行を更新します。

は何も選択されていない場合、これは、1にshipment_billing_statusをデフォルトになります

<div class="form-group"> 
 
     {!! Form::label('Billing_status','Status:') !!} 
 
     {!! Form::select('Billing_status',[1=>'shipment_billing_status',2=>'No Settle', 3=>No chare],null,['class'=>'form-control']) !!} 
 

 
    </div>

ビューにこれを追加します。 これがあなたの質問に答えることを願っています。 @Matthewあなたはこれを試しましたか?

関連する問題