How can I seed a table with two foreign keys from the same table like messages:
Migration:
public function up()
{
Schema::create('messages', function (Blueprint $table) {
$table->increments('id');
$table->integer('to')->unsigned();
$table->integer('from')->unsigned();
$table->integer('parent_id')->unsigned()->nullable();
$table->text('body');
$table->boolean('status')->default(false);
$table->timestamps();
});
Schema::table('messages', function (Blueprint $table) {
$table->foreign('to')
->references('id')->on('users')
->onDelete('cascade');
$table->foreign('from')
->references('id')->on('users')
->onDelete('cascade');
$table->foreign('parent_id')
->references('id')->on('messages');
});
}
ModelFactory:
$factory->define(App\Message::class, function($faker) {
return [
'body' => $faker->text
'from' => //user id,
'to' => //user id,
'parent_id' => //message id
];
});
- How can i get user ids here?
- How do I get an existing row of message for the id?