ftp
4 سال پیش توسط ftp مطرح شد
1 پاسخ

سوال در مورد شرط در api فرم ساز

@ali.bayat
من این کد که یک apiست رو نوشتم اما وقتی به جای echo ازreturn استفاده میکنم فقط یک if رو اجرا میکنه اما زمانی که echo قرار میدم همه رو درست انجام میده اما خروجی در postman خیلی بد هست به جای echo چه چیزی استفاده کنم اگه با return هم راه داره بگید

while($i<=$count-1){
             $t1=$t->pluck('id')[$i];
             $t0=$t->pluck('if_i')[$i];
             $t2=$t->pluck('state')[$i];
             $t3=$t->pluck('value')[$i];
             $t4=$t->pluck('target')[$i];
             $t5=$t->pluck('do_i')[$i];
             $t6=$t->pluck('from')[$i];
             $t7=$t->pluck('to')[$i];
            if($t2=='is equal to'){
                if($t3){
                    echo response([
                        'data' => [
                            'message0' => $t6,//مقدار value $t6رو بردار
                            'message1' => $t7//مقدار valueبالا رو داخل valueاین متغییر قرار بده
                        ]
                    ]);
                }
            }elseif ($t2=='is not equal to'){
                //if(User::where('id',$t1)->where('value','=',$t3)){
               // }else{
                    echo response([
                        'data' => [
                            'message2' => $t6,//مقدار value $t6رو بردار
                            'message3' => $t7//مقدار valueبالا رو داخل valueاین متغییر قرار بده
                        ]
                    ]);
                //}
            }elseif($t2=='contains'){
                $ty=UpdateModel::where('id',$t1)->where('value','LIKE','%'."{$t3}".'%');
                if($ty){
                    echo response([
                        'data' => [
                            'message4' => $t6,//مقدار value $t6رو بردار
                            'message5' => $t7//مقدار valueبالا رو داخل valueاین متغییر قرار بده
                        ]
                    ]);
                }
            }elseif ($t2=='does not contain'){
                    return response([
                        'data' => [
                            'message6' => $t6,//مقدار value $t6رو بردار
                            'message7' => $t7//مقدار valueبالا رو داخل valueاین متغییر قرار بده
                        ]
                    ]);
            }elseif($t2=='starts with'){
                if(UpdateModel::where('id',$t1)->where('value','LIKE',"{$t3}".'%'))
                echo response([
                    'data' => [
                        'message8' => $t6,//مقدار value $t6رو بردار
                        'message9' => $t7//مقدار valueبالا رو داخل valueاین متغییر قرار بده
                    ]
                ]);
            }elseif($t2=='doesnt start with'){
                if(UpdateModel::where('id',$t1)->where('value','LIKE','%'."{$t3}".'%'))
                    echo response([
                        'data' => [
                            'message10' => $t6,//مقدار value $t6رو بردار
                            'message11' => $t7//مقدار valueبالا رو داخل valueاین متغییر قرار بده
                        ]
                    ]);
            }elseif($t2=='ends with'){
                if(UpdateModel::where('id',$t1)->where('value','LIKE','%'."{$t3}"))
                    echo response([
                        'data' => [
                            'message12' => $t6,//مقدار value $t6رو بردار
                            'message13' => $t7//مقدار valueبالا رو داخل valueاین متغییر قرار بده
                        ]
                    ]);
            }elseif($t2=='doesnt end with'){
                if(UpdateModel::where('id',$t1)->where('value','LIKE','%'."{$t3}".'%'))
                    echo response([
                        'data' => [
                            'message14' => $t6,//مقدار value $t6رو بردار
                            'message15' => $t7//مقدار valueبالا رو داخل valueاین متغییر قرار بده
                        ]
                    ]);
            }elseif ($t2=='is empty'){
                if(UpdateModel::where('id',$t1)->where('value',''))
                    echo response([
                        'data' => [
                            'message14' => $t6,//مقدار value $t6رو بردار
                            'message15' => $t7//مقدار valueبالا رو داخل valueاین متغییر قرار بده
                        ]
                    ]);
            }elseif ($t2=='is filled'){
                    echo response([
                        'data' => [
                            'message14' => $t6,//مقدار value $t6رو بردار
                            'message15' => $t7//مقدار valueبالا رو داخل valueاین متغییر قرار بده
                        ]
                    ]);
            }else{}
           $i++;
        }

ثبت پرسش جدید
Mohammad
تخصص : Back-End developer
@mhmdkavosi 4 سال پیش مطرح شد
0

سلام.
میتونین یک متغیر response رو در بالای کد هاتون قبل while تعریف کنین و هر بار در if ها ایندکس های موردنظرتون رو به متغییر اضاف کنین و در اخر بعد از while متغییر رو return کنین.
به عنوان مثال:

$response=[
    'data'=>[]
];
if (1==1)
{
    $response[]['data']['message1']='1==1 is true';
}
elseif (1!=1){
    $response[]['data']['message2']='1==1 is false';
}
else{
    $response[]['data']['message3']='correct value!';
}
return response($response);

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام