簡體   English   中英

Laravel在郵遞員中創建一個數組並保存在數據庫中

[英]Laravel create an array in postman and save in database

我在這種情況下遇到了麻煩。 這就是我在郵遞員中展示的 在此處輸入圖片說明

調節器

 public function index(Request $request)
    {
     $user =  Auth::guard('api');


        if ($user)
        {
            $parameters=new UserParameters();
            $parameters->id_user=Auth::guard('api')->id();
            $parameters->day=$request->day;

            if($parameters->save())
            {
                $times=$request->time;

                foreach ( $times as $time)
                {
                    $new_time = new TimeParameter();
                    $new_time->id_parameter = $parameters->id;
                    $new_time->time = $time[0];
                    $new_time->hour = $time[1];
                    $new_time->save();
                }

                return response()->json(['true' => false, 'message' => 'Saved!']);

            }


        }

        else
        {

            return response()->json(['error' => false, 'message' => 'User not found!']);

        }

    }

我陷入了循環。 我該如何處理這種情況?

這是我在數據庫中得到的 在此處輸入圖片說明

問題

我不知道你的代碼是如何工作的,因為這for ( $times as $time)並不怎么樣for作品。

這是for https://secure.php.net/manual/pt_BR/control-structures.for.php的解釋

for上的as使我認為您嘗試使用foreach 這是它的工作方式:

foreach( $times as $time) $time已經是array一條記錄

因此,當您執行foreach時,它應該是這樣:

foreach ( $times as $time){
    $new_time = new TimeParameter();
    $new_time->id_parameter = $parameters->id;
    $new_time->time = $time->time;
    $new_time->hour = $time->hour;
    $new_time->save();
}

這是因為密鑰的命名方式。 time [0] .time無效,並且可能僅將其讀取為time [0]。 這就是為什么您只得到時間。

time [0] .time ='早上';
time [0] .hour = '10:00';

-然后它將不計算.time或.hour,因為那是無效的。 那么只會使它成為時間[0],這便說明了為什么只有時間。


隨着我要求您對郵遞員數據進行的更改。 您可以嘗試此解決方案。

public function index(Request $request)
{
 $user =  Auth::guard('api');


    if ($user)
    {
        $parameters=new UserParameters();
        $parameters->id_user=Auth::guard('api')->id();
        $parameters->day=$request->day;

        if($parameters->save())
        {
            $data= $request->all();

            foreach ( $data['times'] as $time)
            {
                $new_time = new TimeParameter();
                $new_time->id_parameter = $parameters->id;
                $new_time->time = $time[0];
                $new_time->hour = $time[1];
                $new_time->save();
            }

            return response()->json(['true' => false, 'message' => 'Saved!']);

        }


    }

    else
    {

        return response()->json(['error' => false, 'message' => 'User not found!']);

    }

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM