2017-06-10 10 views
0

私の場合:どのように配列に条件を追加できますか?この</p> <p>私のコードのような

if($cover == 'on') 
    $photo = $image; 

$this->product_repository->update($id, [ 
    'photo'  =>$photo, 
    'photo_list'=>json_encode($photo_list) 
]); 

が、私はそれがこの'photo' => $photo

を実行しない

$cover != on場合、配列に条件を追加したいが、それはでconditonを追加する必要があるようです配列

どうすればいいですか?

+0

を私は '$カバーに依存することを、正しく理解してください'あなたが' photo'と 'photo_list'のどちらか、もしくは' photo_list'だけを使ってupdateを呼び出そうとしていますか?必要に応じて別々の変数追加要素で配列を準備し、 'update'メソッドのパラメータとして渡します。 – ArturFH

答えて

3

更新のための情報を持つ配列を作成し、条件にphotoキーを追加します。

$updateData = [ 
    'photo_list' => json_encode($photo_list) 
]; 

if($cover == 'on'){ 
    $updateData['photo'] = $image; 
} 

$this->product_repository->update($id, $updateData); 
0

写真がNULL可能である場合は、これを行うことができます:

$this->product_repository->update($id, [ 
    'photo'  => ($cover == 'on') ? $photo : null, 
    'photo_list'=>json_encode($photo_list) 
]); 
+0

$ cover!= onの場合、答えは写真のフィールドをnullに更新します。私が言っているのは$ cover!= onで、写真の更新は行われません。 –

+0

@samueltoh確かに、あなたは既存のデータを失いたくありません。その場合、私はアンドレイの答えに行くでしょう。 – btl

関連する問題