Как добавить пользовательские данные в контроллер Laravel
У меня есть форма, которая будет отправлять такие данные, как title, demo, text
. Эти поля могут быть вставлены пользователем, но у меня есть user_id
в таблице,которая должна автоматически вставляться самой платформой. Я не хочу создавать <input type='hidden' name='user_id' value='{{Auth::user()->id}}'>
, потому что это не безопасно вообще. Как я могу заполнить user_id
автоматически, когда пользователь должен заполнить форму?
Контроллер
public function store(Request $request)
{
//TODO: ADD user_id to this data and insert into tbl
$v_data = $request->validate([
'title' => 'required|min:5',
'demo' => 'required',
'text' => 'required',
'category' => 'required|numeric',
]);
Post::create($v_data);
return redirect()->back();
}
У вопроса есть решение - Посмотреть?

Пожалуйста, покажите код в вашем контроллере.
Источник
Ответы - Как добавить пользовательские данные в контроллер Laravel / How to add custom data in controller Laravel
Является ответом!

24.12.2019 02:36:45
Вместо:
Post::create($v_data);
Вы можете использовать:
Post::create($v_data + ['user_id' => auth()->id()]);

вау.. я не знал, что это был всего лишь простой массив .. спасибо, чувак.

24.12.2019 02:55:53
Просто сделай это..
публичное хранилище функций (запрос $request) {
//TODO: ADD user_id to this data and insert into tbl
$v_data=$request->validate([
'title'=>'required|min:5',
'demo'=>'required',
'text'=>'required',
'category'=>'required|numeric',
]);
$v_data['user_id']=auth()->user()->id;// this extra line
Post::create($v_data);
return redirect()->back();
}
Помочь в развитии проекта: