0
2つの配列を比較する関数があります。 1つのアレイはユーザーのグループで満たされています。 もう1つの配列はフォーミュラから来ます。それはIDのリストを含んでいます。Laravelの2つの配列を比較する設定値
IDがフォーミュラのIDと一致する場合、ユーザーは「リリース済み」として保存する必要があります。そうでなければ、リリースされたものと一致してはならない。
私のフォーミュラはチェックしても動作しますが、チェックされていないので配列に含まれていない場合でもリリースされたまま保存されます。私のコードは次のとおりです。
public function save_user_list(Requests $request)
{
$user_id_list = array();
$counter = 0;
if(Auth::user()->role == "owner"){
$users = User::where('owner_id',Auth::user()->owner_id)
->get();
}else{
$users = User::where('owner_id',Auth::user()->owner_id)
->where('role',"user")
->get();
}
foreach($users as $user)
{
$user_id_list[$counter] = $user->id;
$counter++;
}
for($i=0;$i<count($request->release);$i++)
{
$release = 0;
for($a=0;$a<$counter;$a++)
{
if($request->release){
if($request->release[$i] == $user_id_list[$a])
{
$release = 1;
}
}
}
$userrelease = User::where('id',$request->release[$i])
->where('owner_id',Auth::user()->owner_id)
->first();
if($userrelease)
{
$userrelease->active = $release;
$userrelease->save();
}
}
return back();