У меня есть приложение для бронирования, в моей таблице есть столбец с именем reference_no
, и я хочу присвоить его случайной строке?Кто-нибудь знает, как это сделать в Laravel?Где я должен поместить код генератора случайных строк?В миграциях или в контроллере?Спасибо за помощь.
Контроллер
public function addBooking(Request $request,$fid){
$booking = Booking::create([
'flight_id'=> $fid,
'mobile_no' => $request->mobile_no,
'email' => $request->email,
'seat_no' =>$fid,
'reference_no' => THIS IS THE COLUMN THAT I WANT TO HAVE A UNIQUE RANDOM STRING,
//add if you want you add any more column
]);
foreach($request->title as $key => $value){
BookingDetails::create([
'booking_id' => $fid,
'title' => $request->title[$key],
'fname' => $request->fname[$key],
'lastname' => $request->lname[$key],
//other columns
]);
}
}
Миграция
public function up()
{
Schema::create('bookings', function (Blueprint $table) {
$table->bigIncrements('booking_id');
$table->bigInteger('flight_id')->unsigned();
$table->string('email');
$table->string('mobile_no');
$table->integer('seat_no');
$table->string('reference_no',10)->unique();
$table->timestamps();
});
Schema::table('bookings', function($table) {
$table->foreign('flight_id')
->references('flight_id')->on('flights')
->onDelete('cascade');
});
}
Модель
class Booking extends Model
{
protected $fillable = [
'flight_id','booking_id', 'email', 'mobile_no', 'seat_no', 'reference_no',
];
}