vendredi 24 août 2018

Erro adding row to spatie/laravel-permission plugin table

In my Laravel 5.6/PostgreSQL 10.5 application with "spatie/laravel-permission": "^2.16" plugin I want to add 1 row as :

        $newModelHasPermission                = new ModelHasPermission();
        $newModelHasPermission->permission_id = 1;
        $newModelHasPermission->model_type    = (new MyAppModel)->pgEscape("App\User");
        $newModelHasPermission->model_id      = 12;
        $newModelHasPermission->save();

and I got error :

   "message": "SQLSTATE[42601]: Syntax error: 7 ERROR:  zero-length delimited identifier at or near \"\"\"\"\nLINE 1: ..., \"model_type\", \"model_id\") values ($1, $2, $3) returning \"\"\n                                                                     ^ (SQL: insert into \"rt_model_has_permissions\" (\"permission_id\", \"model_type\", \"model_id\") values (1, App\\User, 12) returning \"\")",
    "exception": "Illuminate\\Database\\QueryException",

Model declarations has :

 <?php
namespace App;

use DB;
use App\MyAppModel;
use App\User;
use App\library\ListingReturnData;
use App\Http\Traits\funcsTrait;

class ModelHasPermission extends MyAppModel
{

    protected $table = 'model_has_permissions';
    public $timestamps = false;

    use funcsTrait;

    protected static function boot() {
        parent::boot();
    }

    public function permission()
    {
        return $this->belongsTo('App\Permission');
    }

...

Why error and how to fix it?

Thanks!



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire