Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
324 views
in Technique[技术] by (71.8m points)

php - How to insert new data into exists row without replace exists data in laravel?

Here I used updateOrCreate method to post data but when I use this method old data replaced by new data but I want to add new data without updating or replacing exists data.

here is the code for insert data

$booking = Bookings::updateOrCreate(
        ['schedules_id' => $schedules_id], // match the row based on this array
        [ // update this columns
        'buses_id' => $buses_id,
        'routes_id' => $routes_id,
        'seat' => json_encode($seat),
        'price' => $request->price,
        'profile' => 'pending',
    ]

);

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

I solved myself, I stored old data into $extSeat then merge with new data, I don't know the logic is correct or wrong but works

$extSeat = DB::table('bookings')->select('seat')->first();
        $extSeat = explode(",", $extSeat->seat);
        $booking = Bookings::updateOrCreate(
           ['schedules_id' => $schedules_id],// row to test if schedule id matches existing schedule id
           [ // update this columns
              'buses_id' => $buses_id,
              'routes_id' => $routes_id,
              'seat' => implode(",", array_merge($seat,$extSeat )),
              'price' => $request->price,
              'profile' => 'pending',
           ]);

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...