Мне нужно удалить информацию из базы данных с помощью отправки сообщения.
Но он обновляет и не удаляет информацию.
Маршрут:
Route::get('/home', 'HomeController@index')->name('home');
Route::post('/home/linha/insert', 'HomeController@insert')->name('home');
Route::post('/home/linha/remove','HomeController@deletar');
контроллер:
public function deletar(Request $request)
{
$id = $request->input('id');
DB::delete('delete from linha where id = :id' ,['id' => $id]);
return redirect('home');
}
Посмотреть:
<div class="col-md-9" style="margin-top:20px;">
<div class="col-md-9"><?php echo "$linha->msg"; ?></div>
@if($linha->iduser == auth()->user()->id)
<div class="col-md-3"><form action="/home/linha/remove" method="post">
{{ csrf_field() }}
<input type="hidden" name="id" id="id" value="{{$linha->id}}">
<button type="submit" class="btn btn-danger btn-sm">
<span class="glyphicon glyphicon-remove"></span> Remover
</button>
</form>
</div>@endif
</div>
Попробуйте это: это было показано и в документации Laravel.
$deleted = DB::delete('delete from linha where id = ?',[$id]);
Вот ссылка на документацию ( https://laravel.com/docs/5.7/database ).
Или вы можете использовать красноречивый laravel «linha»
$request->YourModel()->findOrFail($id)->delete();
Существует несколько способов удаления записей в базе данных (в запросе нет синтаксической ошибки)
следуйте этому заявлению для отладки
ты должен использовать dd(DB::getQueryLog());
и вы получите сырой запрос & выполнить этот необработанный запрос в базе данных вручную
1-й способ (красноречивым)
$linha= linha::find($id);
$linha->delete();
2-й способ
DB::table('linha')->where('id', '=', $id)->delete();
3-й способ
DB::delete('SQL QUERY HERE');
для получения дополнительной информации читайте laravel удалить руководство
Я думаю, что это должно быть так:
DB::delete('delete from linha where id = ?' ,[$id]);
Это просто синтаксис.
В качестве альтернативы вы можете использовать эту строку:
DB::table('linha')->where('id', $id)->delete();
Вы можете попробовать это
public function deletar(Request $request){
$id = $request->input('id');
if( \DB::table('linha')->where('id', $id)->delete() ){
// deleted successfully
}
return redirect('home');
}
В Laravel есть два пути: