@Tikit

Как удалить запись и БД в один ко многим?

Здравствуйте, подскажите, что я не так прописал в коде. Не могу удалить запись из БД, отношение таблицы один ко многим.
class Oborudovanie extends Model
{
    use HasFactory;
    protected $guarded = false;
    protected $table = 'oborudovanies';// Таблица из базы данных, с которой мы работаем

    public function poverkas()
    {
        return $this->hasMany(Poverka::class, 'oborudovanie_id', 'id');
    }
}


class Poverka extends Model
{
    use HasFactory;
    protected $guarded = false;
    protected $table = 'poverkas';// Таблица из базы данных, с которой мы работаем
}


Route::delete('/pov/{oborudovanie}', [DeletePoverkaController::class, '__invoke']);


class PoverkaSpisokController extends Controller
{
    public function __invoke(int $oborudovanieId)
    {
        $poverka = Poverka::where('oborudovanie_id', $oborudovanieId)->latest()->paginate(15);
        return PoverkaResource::collection($poverka);
    }
}


{
        path: '/oborudovanies', component: ()=> import('./components/glavnoe_menu/ispytatelnaya_laboratoriya/oborudovanie/IndexComponent.vue'),
        name: 'oborudovanies.index'
    },
    {
        path: '/oborudovanies/create', component: ()=> import('./components/glavnoe_menu/ispytatelnaya_laboratoriya/oborudovanie/CreateComponent.vue'),
        name: 'oborudovanies.create'
    },
    {
        path: '/oborudovanies/:id/edit/', component: ()=> import('./components/glavnoe_menu/ispytatelnaya_laboratoriya/oborudovanie/EditComponent.vue'),
        name: 'oborudovanies.edit'
    },
    {
        path: '/oborudovanies/:id/edit/poverka', component: ()=> import('./components/glavnoe_menu/ispytatelnaya_laboratoriya/oborudovanie/EditPoverkaComponent.vue'),
        name: 'oborudovanies.edit.poverka'
    },
    {
        path: '/oborudovanies/:id/edit/poverka/spisok', component: ()=> import('./components/glavnoe_menu/ispytatelnaya_laboratoriya/oborudovanie/EditPoverkaSpisokComponent.vue'),
        name: 'oborudovanies.edit.poverka.spisok'


class DeletePoverkaController extends Controller
{
    public function __invoke(Poverka $poverka)
    {
        $poverka -> delete();
        return response([]);
    }
}


<script>
export default {
    name: "EditPoverkaSpisokComponent",
    data(){
        return{
            poluhenie: null,
        }
    },

    mounted() {
        this.getPoluhenie() 
    },

    methods: {
        getPoluhenie(){
            axios.get('/api/oborudovanies/pov/' + this.$route.params.id) 
                .then(res => {
                    this.poluhenie = res.data.data;
                })
        },

        deletePoluhenie(id){
            axios.delete('/api/oborudovanies/pov/' + id) 
                .then(res => {
                    this.getPoluhenie();
                })
        },
    }
}
</script>
  • Вопрос задан
  • 135 просмотров
Пригласить эксперта
Ответы на вопрос 1
@iljaGolubev
И снова здрасте!
И снова - забудьте про vue и добейтесь чтобы бэк работал как задумано.
Не могу удалить запись из БД
этот диагноз не про код.
Перечитайте доку по роутам и связям.

Ка всё это вместе должно работать - непонятно.
Route::delete('/pov/{oborudovanie}',
public function __invoke(Poverka $poverka)...
axios.delete('/api/oborudovanies/pov/' + id)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы