/** * Run the database seeds. * * @return void */ public function run() { Model::unguard(); $faker = Faker\Factory::create(); //DB::table('categories')->truncate(); for ($i = 1; $i < 62; $i++) { \App\_New::where('id', $i)->update(['see_also' => json_encode([mt_rand(1, 62), mt_rand(1, 62), mt_rand(1, 62)])]); } // $this->call(UserTableSeeder::class); }
public function editNew(Request $request) { $validator = Validator::make($request->all(), ['id' => 'required|numeric', 'editorArticle' => 'required|string|max:100000', 'url' => 'required', 'categoryId' => 'required|numeric', 'publish' => 'required|numeric', 'title' => 'required|string|max:400', 'SeeAlso' => 'required']); if ($validator->fails()) { $error = $validator->errors()->all(); return response()->json(['error' => true, 'reason' => $error]); } if (count(json_decode($request->get('SeeAlso'))) != 3) { return response()->json(['error' => true, 'reason' => 'Выбрано не 3 релевантных новости']); } $title = $request->get('title'); $id = $request->get('id'); // транслит для урла $url = $request->get('url'); // количество просмотров $views = mt_rand(100, 900); // изображение статьи $img = $request->file('InputImage'); // если не нужно обновлять изображение статьи if ($img === null) { // попытка добавить данные try { $query = _New::where('id', $id)->update(['text' => $request->get('editorArticle'), 'title' => $request->get('title'), 'category_id' => $request->get('categoryId'), 'views' => $views, 'url' => $url, 'see_also' => $request->get('SeeAlso'), 'publish' => $request->get('publish')]); return \Response::json(['url' => $url]); // если ошибка, ловим ее и возвращаем error } catch (\Exception $e) { return response()->json(['error' => true, 'reason' => $e->getMessage() . ' строка ' . $e->getLine()]); } } else { // получение mime типа $mimeType = $img->getMimeType(); $mimeTypeAvailable = ['image/png', 'image/jpeg', 'image/gif']; // фича для получения расширения по mime types foreach ($mimeTypeAvailable as $v) { if ($mimeType == $v) { $imgName = $url . '.' . preg_replace("/.*\\/(.*)/ui", "\${1}", $v); break; } } // путь сохранения изображения $imgPath = '../resources/images/news/new/' . $imgName; // если нужно изменить картинку, то изменяем, иначе нет // сохраняем изображение Image::make($img)->resize(270, 190)->save($imgPath); // попытка добавить данные try { $query = _New::where('id', $id)->update(['text' => $request->get('editorArticle'), 'title' => $request->get('title'), 'category_id' => $request->get('categoryId'), 'pic_preview' => $imgName, 'views' => $views, 'url' => $url, 'see_also' => $request->get('SeeAlso'), 'publish' => $request->get('publish')]); return \Response::json(['url' => $url]); // если ошибка, ловим ее и возвращаем error } catch (\Exception $e) { return response()->json(['error' => true, 'reason' => $e->getMessage() . ' строка ' . $e->getLine()]); } } }