Всем привет. По сути проблема уже решена, но мне не дает покоя тот факт, что я мог её решить неправильно. Да и вообще сам тот факт, что я не понимаю как и что работает (до конца)
Суть вот в чем
У меня есть axios запрос к контроллеру:
axios.post('/deletefolderntd', {id: this.fornewfolder[0].id}).then(response => {
console.log(response.data);
});
Роут у меня следующий:
Route::post('/deletefolderntd', 'filemanagController@deleteFolder');
Контроллер был таким (когда не срабатывало):
public function deleteFolder(Request $request) {
$id = $request->id;
$model = new Filemanager();
$result = $model->deleteFolderById($id);
}
Модель Filemanager и собсн метод deleteFolderById:
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class Filemanager extends Model {
protected $table = 'folders';
protected $connection = 'sqlite';
public function deleteFolderById($id) {
return $this->where('id', $id)->delete();
}
}
Так вот. При таком раскладе у меня ответ был 0 и ничего не удалялось
Если же я роут менял с post на get, то все работало и удалялось. (В контроллере убирал Request)
Но мне нужно, чтобы удаление было через axios.post и сработал только такой вариант контроллера
public function deleteFolder(Request $request) {
$id = $request->id;
$model = Filemanager::find($id);
$result = $model->delete();
}
Тут немного, но не сильно (как по мне) отличается запрос.
Правильно ли я все сделал? И почему не работало через where, но сработало с find?
P.S.
Заранее спасибо. Пытаюсь разобраться)