Laravel: how to run migration to add a field to a pivot table and insert a value if the pivot exists -
i have 2 pivot tables contains bookings attendees , programs. each record contains attendee_id , program_id of booking.
if there record entry i.e. booking means attendee registered.
i want migrate table there field registered , waitlisted. so.
public function up() { // schema::table('bookings', function(blueprint $table) { $table->increments('id'); $table->boolean('registered'); $table->boolean('waitlisted'); }); schema::table('prog_bookings', function(blueprint $table) { $table->increments('id'); $table->boolean('registered'); $table->boolean('waitlisted'); }); } but complete migration, need set registered 1 if booking existed in database (there record in pivot table). how do that?
migrations setting database tables , schemas, think better leave separated generating , filling values in side table.
i suggest use script job of setting registered 1. seeding convenient component database scripts in laravel. example:
# attendeeregisteredseeder.php public function run() { foreach (attenndee::all() $attendee) { foreach ($attendee->programs $program) { $program->pivot->registered = 1; $program->pivot->save(); } } } after completed seeder script, run artisan command:
php artisan db:seed --class=attendeeregisteredseeder this run specified seeder class, think want in case.
hope helps.
Comments
Post a Comment