We have a COMMON database and then tenant databases for each organization that uses our application. We have base values in the COMMON database for some tables e.g.  

COMMON.widgets. Then in the tenant databases, IF a table called modified\_widgets exists and has values, they are merged with the COMMON.widgets table.

Right now we are doing this in controllers along the lines of:

```
public function index(Request $request)
{
  $widgets = Widget::where('active', '1')->orderBy('name')->get();
  if(Schema::connection('tenant')->hasTable('modified_widgets')) {
    $modified = ModifiedWidget::where('active', '1')->get();
    $merged = $widgets->merge($modified);
    $merged = array_values(array_sort($merged, function ($value) {
      return $value['name'];
    }));
    return $merged;
  }
  return $countries;
}

```

As you can see, we have model for each table and this works OK. We get the expected results for GET requests like this from controllers, but we'd like to merge at the Laravel MODEL level if possible. That way id's are linked to the correct tables and such when populating forms with these values. The merge means the same id can exist in BOTH tables. We ALWAYS want to act on the merged data if any exists. So it seems like model level is the place for this, but we'll try any suggestions that help meet the need. Hope that all makes sense.

Can anyone help with this or does anyone have any ideas to try? We've played with overriding model constructors and such, but haven't quite been able to figure this out yet. Any thoughts are appreciated and TIA!