Using Laravel 5.1, I have created an Eloquent Model:
class Divisions extends Model
{
}
I have a table and a view in my database which are relevant to this model.
-
divisions_info
- The table, it will haveINSERT
andUPDATE
queries run, but will never have aSELECT
run on it. -
divisions_view
- The view, it will haveSELECT
queries run only (obviously).
The reason for the segmentation is that the
divisions_view
view joins with data from thedivisions_info
table and from another relevant, read-only table in an adjacent database.
I would like to utilize one model for everything that deals with divisions, but direct any UPDATE
/INSERT
queries on the divisions_info
table and all SELECT
queries on the divisions_view
view.
The Laravel documentation allows you to override the assumed table name, like so:
protected $table = 'divisions_info';
However, this takes precedence over the entire model. I would like to be able to utilize all the built in methods that come with using the Eloquent model, but have it split accordingly across SQL statements.
Is this possible? If so, what is the right way to achieve it?
If it is not possible, without diving into opinion, what is the most logical/Laravel-esque way to work with the same data in two different locations?