php - Laravel Eloquent, multiple schema query -


i have below query (simplified):

$q = modelone::with('relation_one', 'relation_two')     ->wherehas('relation_three', function ($q) {         $q->where('object', 'obj1');     })     ->wherehas('relation_four', function ($q) {         $q->where('object', 'obj2');     })     ->get();` 

it loads relation_one , relation_two relationships fine, need load relationship per row, either relation_three or relation_four depending on value of modelone->object.

the issue having modelone schema1 , tables used in relation_three & relation_four schema2.

both models set correct individual protected $connection , protected $table variables.

the error recieving tables relationship_three or relationship_four not exist sub-query checking wrong schema.

can suggest how fix this? have had through docs couldn't find solution.

i suggest separating different databases relations different fields, @ least. way can load both (as suggested in comments) , differentiate logic within controller/model code.

also, guess you'll need define connection name on model level, if not done yet:

class model_two_relation {     protected $connection = 'your-database-name-from-config'; } 

you might want specify connection within relation join condition:

$q = modelone::with('relation_one', 'relation_two')     ->wherehas('relation_three', function ($q) {         $q->from('resources.one')->where('object', 'obj1');     })     ->wherehas('relation_four', function ($q) {         $q->from('resources.two')->where('object', 'obj2');     })     ->get(); 

links: http://fideloper.com/laravel-multiple-database-connections


Comments

Popular posts from this blog

php - Vagrant up error - Uncaught Reflection Exception: Class DOMDocument does not exist -

vue.js - Create hooks for automated testing -

Add new key value to json node in java -