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

stephen waweru's avatar

Call to a member function prepare() on null when i try to seed data into mongodb in laravel

am trying to seed data into mongodb database but am gettng this error "Call to a member function prepare() on null".

here is the Role Model namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; use Jenssegers\Mongodb\Helpers\EloquentBuilder;

class Role extends Model { use HasFactory;

protected $connection = 'mongodb';

protected $collection = 'roles';

protected $fillable=['role_name'];

protected $guarded = ['_id']; }

while this is the Role seeder

use App\Models\Role;
use Illuminate\Database\Seeder;

class RoleSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{

    Role::create(['Role_name'=>'Admin']);
    Role::create(['Role_name'=>'Writer']);

}

}

am not sure where the error is coming from as i have followed all the guidelines in the documentation.how can i fix this

0 likes
1 reply
DhPandya's avatar
DhPandya
Best Answer
Level 12

@stephen waweru In the Role model You're still using the eloquent model. Instead use use Jenssegers\Mongodb\Eloquent\Model;

1 like

Please or to participate in this conversation.