Laravel - как вставить json в базу данных - PullRequest
0 голосов
/ 06 апреля 2020

здесь моя модель

class Gallery extends Model{ protected $table = 'gallery';

protected $fillable = [
    'id','pages_id','title','subtitle'
];

protected $casts =[
    'photo'=>'array'
];

}

здесь контроллер

public function add_gallery(Request $request, $id)
{
    $gal = Gallery::create([
        'title' => $request['titlu'],
        'subtitle' => $request['autor'],
        'photo' => json_encode($p),
        'pages_id' => $id
    ]);

}

строка 'photo' => json_encode ($ p) не имеет работа, он говорит, что столбец фото пуст, $ p не пусто

1 Ответ

0 голосов
/ 07 апреля 2020
  1. $ фотография должна быть добавлена ​​к $ fillable

    protected $fillable = ['id','pages_id','title','subtitle','photo'];
    
  2. Так как вы используете кастинг, вы не используете json_encode / json_decode вручную, потому что Laravel делает это для вас.

    $gal = Gallery::create([
       'title' => $request['titlu'],
       'subtitle' => $request['autor'],
       'photo' => $p,
       'pages_id' => $id
    ]);
    
  3. $ p переменная отсутствует в методе add_gallery ().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...