Сгенерировал CRUD операции через Gii, добавил функционал загрузки картинок к статье. После этого почему-то перестало работать удаление статей.
вот так выглядит удаление
public function actionDelete($id)
{
$this->findModel($id)->delete();
return $this->redirect(['index']);
}
насколько смог понять , не срабатывает findModel() в методе actionDelete(загонял все в if, redirect не проходил). Причину выяснить не смог. вот findModel
protected function findModel($id)
{
if (($model = Article::findOne($id)) !== null) {
return $model;
}
throw new NotFoundHttpException('The requested page does not exist.');
}
Вот логи:
2019-02-06 22:49:04 [127.0.0.1][-][b1h7sqlc3rrjq5on8tokk5iq5g1p629m][error][yii\web\HttpException:404] exception 'yii\base\InvalidRouteException' with message 'Unable to resolve the request "uploads/c8792d9548210f5455f395cdc73386f3.png".' in D:\ospanel\OSPanel\domains\localhost\footblog\vendor\yiisoft\yii2\base\Module.php:537
Stack trace:
#0 D:\ospanel\OSPanel\domains\localhost\footblog\vendor\yiisoft\yii2\web\Application.php(103): yii\base\Module->runAction('uploads/c8792d9...', Array)
#1 D:\ospanel\OSPanel\domains\localhost\footblog\vendor\yiisoft\yii2\base\Application.php(386): yii\web\Application->handleRequest(Object(yi
i\web\Request))
#2 D:\ospanel\OSPanel\domains\localhost\footblog\web\index.php(12): yii\base\Application->run()
#3 {main}
Next exception 'yii\web\NotFoundHttpException' with message 'Page not found.' in D:\ospanel\OSPanel\domains\localhost\footblog\vendor\yiisoft\yii2\web\Application.php:115
Stack trace:
#0 D:\ospanel\OSPanel\domains\localhost\footblog\vendor\yiisoft\yii2\base\Application.php(386): yii\web\Application->handleRequest(Object(yii\web\Request))
#1 D:\ospanel\OSPanel\domains\localhost\footblog\web\index.php(12): yii\base\Application->run()
#2 {main}
2019-02-06 22:49:04 [127.0.0.1][-][b1h7sqlc3rrjq5on8tokk5iq5g1p629m][info][application] $_GET = []
$_POST = []
$_FILES = []
$_COOKIE = [
'PHPSESSID' => 'b1h7sqlc3rrjq5on8tokk5iq5g1p629m'
'_csrf' => 'a83c3e44210e8a2e85885e631b6a0ac853ccbcaf0b62a4a21160636938f7ebe8a:2:{i:0;s:5:\"_csrf\";i:1;s:32:\"bUvzAuOr6NyocoDZlb2VFCGF07-HT68H\";}'
Прошу помочь с решением проблемы или подсказать, где искать ошибку.
upd на всякий случай, экшн добавления картинки:
public function actionAddImage($id)
{
$model = new ImageUpLoad;
if(Yii::$app->request->isPost)
{
$article = $this->findModel($id);
$file = UploadedFile::getInstance($model, 'image');
//$model->uploadFile($file);
if($article->saveImage($model->uploadFile($file, $article->image)))
{
return $this->redirect(['view', 'id'=>$article->id]);
}
}
return $this->render('image', ['model'=>$model]);
}
В базе записи ОСТАЮТСЯ
С этим кодом думаю что все нормально. Проблема мне кажется в самом реквесте. Судя по логам при запросе изображения начинает работать приложение yii2 которое не понимает как ему разобрать запрос на uploads/c8792d9548210f5455f395cdc73386f3.png. Это исправляется настройками веб-сервера (nginx или apache смотря что используется).
А вот на счет удаления нужно дебажить или расставить свои исключения чтобы понять Возможно перед удалением срабатывает триггер на удаление изображения (см. использование EVENT_BEFORE_DELETE в модели) а при удалении картинки может не хватать прав на стороне веб-сервера и тогда евент не сработает и удаление не произойдет. В общем xdebug в помощь.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Проблема состоит в том, что это решение я нигде не нашёлМне нужно реализовать немедленное завершение функции во время, допустим, проигрывания...
Мне дали доработать приложение написанное с использованием QtВ приложении есть некий диалог унаследованный от QDialog