I'm receiving this error when trying to use an Eloquent Model in Lumen.
Call to a member function connection() on null
Controller func:
/** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index(Request $request) { $employees = Employee::orderBy('first_name', 'asc')->get(); dd($employees); $response['precontent'] = view('admin::employee.search')->render(); $response['content'] = view('admin::employee.index') ->with(['employees' => $employees]) ->render(); $response['title'] = 'Employees'; return $response; }
Model:
<?php namespace App; use Illuminate\Database\Eloquent\Model; class Employee extends Model { protected $table = 'system_core.employees'; protected $fillable = [ 'user_id', 'first_name', 'last_name', 'position', 'primary_address', 'secondary_address', 'phone_1', 'phone_2', 'birth_date', 'start_date', 'end_date' ]; }
I'm pretty experienced with Laravel, but just started my first Lumen project for mere API use and I'm not sure why this error is being thrown. Perhaps it's just my connection settings? Would all queries have to be run the following way?:
$results = app('db')->select("SELECT * FROM users");
Thank you!
You should uncomment the Eloquent $app->withEloquent()
call in bootstrap/app.php
.
https://lumen.laravel.com/docs/5.2/database#basic-usage
Update:
Latest version of the docs https://lumen.laravel.com/docs/5.8/database, check section Eloquent ORM
As per 2021 here is the check list to check against to fix this error.
You have to:
.env
file (i.e. set DB_CONNECTION
, DB_DATABASE
, DB_USERNAME
, DB_PASSWORD
);$app->withFacades();
, $app->withEloquent();
lines in bootstrap/app.php
;setUp()
method: parent::setUp()
That should fix it.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With