Dhirendra Kumar
Dhirendra Kumar

Reputation: 31

how to print model query in laravel

i am new in laravel and have to save the record in table , i am using this code to insert the value

$model->studentRollId = $value1;
$model->resident_permit_number = $value2;
$model->save()

i am not getting any error but record not inserting in the table , so can anyone please tell me how can i print the executed query by the $model->save(), i tried DB::getQueryLog() but its not shiwing the query log so i can fin what is the issue . thanks in advance

Upvotes: 3

Views: 4927

Answers (4)

Akshay Deshmukh
Akshay Deshmukh

Reputation: 1292

Have you mentioned the column names in $fillable in you model. In laravel to insert a data in table you have to mentioned the columns names in $fillable method.

e.g. Suppose you have users table and for that table you have User model.

In User.php add following method

protected $fillable = [
        'list of columns'
    ];

Upvotes: 0

Nicolae Turcan
Nicolae Turcan

Reputation: 11

Do you have studentRollId and resident_permit_number in the $fillable array?

Go to the $model and check if you have something like this:

protected $fillable = [
    'studentRollId',
    'resident_permit_number'
];

Another solution would be to insert data in raw like this:

    DB::table('table_name')->insert([
        'studentRollId' => $value1,
        'resident_permit_number' => $value2
    ]);

Hope it helps.

Upvotes: 0

Zeus
Zeus

Reputation: 124

Try This

$model->studentRollId = $value1;
$model->resident_permit_number = $value2;
$data = $model->toSql();
dd($data);

Upvotes: 1

SteD
SteD

Reputation: 14027

Use ->toSql(), after your $model->save(), just do a dd($model->toSql())

Edit: Have you do a \DB::enableQueryLog();?

\DB::enableQueryLog();
$model->studentRollId = $value1;
$model->resident_permit_number = $value2;
$model->save()
dd(\DB::getQueryLog());

Upvotes: 2

Related Questions