public function store() { $tariff_name = Tariff::where('name', '=', Input::get('name'))->get(); if (count($tariff_name) > 0) { return response()->json(['callback' => 'danger', 'message_shot' => 'Ошибка!', 'message' => ' Тариф с таким названием уже существует']); } else { // validate // read more on validation at http://laravel.com/docs/validation $rules = array('name' => 'required'); $validator = Validator::make(Input::all(), $rules); // process the login if ($validator->fails()) { return response()->json(['callback' => 'danger', 'message_shot' => 'Ошибка!', 'message' => ' Тариф ' . Input::get('name') . ' не создан']); } else { // store if (Input::get('tariff_id') !== null) { $oldtariff = Tariff::find(Input::get('tariff_id')); $tariff = $oldtariff->replicate(); $tariff->name = Input::get('name'); $tariff->save(); foreach ($oldtariff->commissions as $oldcommission) { $commission = $oldcommission->replicate(); $commission->tariff_id = $tariff->id; $commission->save(); foreach ($oldcommission->commissionsRages as $oldcommissionsRage) { $commissionsRage = $oldcommissionsRage->replicate(); $commissionsRage->commission_id = $commission->id; $commissionsRage->save(); } } return response()->json(['callback' => 'success', 'message_shot' => 'Успешно!', 'message' => ' Тариф "' . $oldtariff->name . '"скопирован, теперь вы можете приступить к редактированию комиссий', 'tariff_id' => $tariff->id]); } else { $tariff = new Tariff(); $tariff->name = Input::get('name'); $tariff->save(); return response()->json(['callback' => 'success', 'message_shot' => 'Успешно!', 'message' => ' Тариф ' . Input::get('name') . ' создан, теперь добавьте к нему комисси ', 'tariff_id' => $tariff->id]); } } } }