Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

deladels's avatar

extracting values from url and updating table in db

so using route model binding i am able to get this url : http://127.0.0.1:8000/schedule/1 is there anyway i can extract the id which in this case is one and insert it into a table in a database?

as at now this is what i have which is not working:

class BookingsController extends Controller {

//NB: i am passing/getting $schedule from the url, sort of
    public function getScheduleId($schedule){

        $booking = new Booking;

        $booking->schedule_id = $schedule;

        $booking->save();

}

public function store(){

    $this->validate( request(), [

            'lastName'      => 'required',
        'firstName'     => 'required',
        'email'         => 'required',
        'mobilenumber'  => 'required',
        'additionalId'  => 'required',
        'idNumber'      => 'required'

    ]);

    Booking::create([

        'schedule_id'           => request($schedule),
        'lastname'      => request('lastName'),
        'firstname'     => request('firstName'),
        'email'         => request('email'),
        'mobilenumber'  => request('mobilenumber'),
        'id_type'           => request('additionalId'),
        'id_number'     => request('idNumber')


    ]);
    
}

}

0 likes
3 replies
shez1983's avatar

if you are doing route model binding then $booking->schedule_id = $schedule; should be $booking->schedule_id = $schedule->id;

Drfraker's avatar
Drfraker
Best Answer
Level 28

Form in page where they are creating a booking

<form method='POST' action="/schedule/{{$schedule->id}}">
    {{csrf_field}}
    // input fields
</form>

routes/web.php

Route::post('schedule/{schedule}', 'BookingController@store'); 
class BookingController extends Controller {
    
public function store(Schedule $schedule){ // The Schedule type hint is required for route model binding to work.

    $this->validate( request(), [
            'lastName'      => 'required',
        'firstName'     => 'required',
        'email'         => 'required',
        'mobilenumber'  => 'required',
        'additionalId'  => 'required',
        'idNumber'      => 'required'

    ]);

    Booking::create([

        'schedule_id'           => $schedule->id,
        'lastname'      => request('lastName'),
        'firstname'     => request('firstName'),
        'email'         => request('email'),
        'mobilenumber'  => request('mobilenumber'),
        'id_type'           => request('additionalId'),
        'id_number'     => request('idNumber')


    ]);
    
}
}
1 like

Please or to participate in this conversation.