public function postChangefeed() { User::onlyHas('feed-edit'); $id = Input::get('id'); $fields = Input::get('addfields'); $exists = []; foreach (FeedField::get_($id) as $field) { $exists[$field->id] = $field; } // Insert inexistent fields foreach ($fields as $fieldId) { if (isset($exists[$fieldId]) == FALSE) { $newField = new FeedRel(); $newField->feed_id = $id; $newField->feed_field_id = $fieldId; $newField->save(); } } // Delete Existent fields foreach ($exists as $field) { if (in_array($field->id, $fields) == FALSE) { FeedRel::where('feed_field_id', $field->id)->where('feed_id', $id)->delete(); FeedFieldValue::where('feed_field_id', $field->id)->whereIn('post_id', function ($query) use($id) { $query->select(FeedPost::getField('post_id'))->from(FeedPost::getTableName())->where('feed_id', $id); })->delete(); } } return Illuminate\Support\Facades\Redirect::back(); }