/**
  * 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()]);
         }
     }
 }