verdex: а как ты вообще запускаешь свой код? У тебя в роутах ничего нет. Site контроллер создаётся вручную в своём же файле. Напрямую файл контроллера вызываете? Ужас.
Во-первых, у тебя там class Site extends Conroller, пропущена t. Если добавить, всё работает при использовании этого класса.
Во-вторых, вообще всё неправильно, контроллеры не создаются вручную и не вызываются.
В-третьих, namespace файла должен повторять путь к нему.
Денис Букреев: вы тут неправы. Человек подсказал решение и его можно использовать не только внутри Route::get. Какая разница, ради чего: вы спросили, он помог. Просто в следующий он помогать уже не будет с таким отношением.
NikolayAlb: это работает только для параметров в URL роута. Для изменения post данных нужно использовать middleware, но инъекция все равно не прокатит.
NikolayAlb: ну по идее, если внешний ключ настроен на каскадное удаление, то при удалении проекта удалятся его связи в этой таблице. Если нет, то в момент удаления проекта нужно удалять вручную.
Вы передаете в работу модель, которая потом удаляется. Он ее не может найти, естественно. Работа запоминает id, а не сериализует всю модель. Тут надо передавать не модель, а только нужные данные. Либо удалять проект уже в работе.