Ejemplo n.º 1
0
 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();
 }