Hide relationship laravel
I have this controller, with 2 relationships: groups and group making a joing
public function find($name)
$locate= Products::where('name', 'like', "$name%")->with('groups.group')->get();
return response()->json($locate, 200);
With returns me this:
[
"name":"Test",
"code":"123",
"price":"321.00",
"created_at":null,
"updated_at":null,
"groups":
"id":1,
"product_id":1,
"group_id":2,
"created_at":null,
"updated_at":null,
"group":
"id":2,
"name":"Test",
"desc":"dasdasdsa",
"commission_s":2,
"commission_m":2,
"created_at":null,
"updated_at":null
]
The big problem is, i dont whant the "groups" object, its just a relational table.
The models:
class Products extends Model
protected $fillable = ['name', 'code', 'price'];
protected $hidden = ['id'];
public function Groups()
return $this->hasOne('ApppGroup', 'product_id', 'id');
Pgroup model
class pGroup extends Model
protected $fillable = ['group_id', 'product_id'];
public function Group()
return $this->belongsTo('AppProductGroup');
json laravel
|
show 5 more comments
I have this controller, with 2 relationships: groups and group making a joing
public function find($name)
$locate= Products::where('name', 'like', "$name%")->with('groups.group')->get();
return response()->json($locate, 200);
With returns me this:
[
"name":"Test",
"code":"123",
"price":"321.00",
"created_at":null,
"updated_at":null,
"groups":
"id":1,
"product_id":1,
"group_id":2,
"created_at":null,
"updated_at":null,
"group":
"id":2,
"name":"Test",
"desc":"dasdasdsa",
"commission_s":2,
"commission_m":2,
"created_at":null,
"updated_at":null
]
The big problem is, i dont whant the "groups" object, its just a relational table.
The models:
class Products extends Model
protected $fillable = ['name', 'code', 'price'];
protected $hidden = ['id'];
public function Groups()
return $this->hasOne('ApppGroup', 'product_id', 'id');
Pgroup model
class pGroup extends Model
protected $fillable = ['group_id', 'product_id'];
public function Group()
return $this->belongsTo('AppProductGroup');
json laravel
1
Then just remove->with('groups.group')
– nakov
Nov 12 '18 at 16:59
1
Why do you call it groups when you have only one per product? Why don't you simply call it group, and then use->with('group')
– nakov
Nov 12 '18 at 17:03
1
Then you structure is wrong. You use many to many when you need one to many. Instead of using the middle table which isProductGroup
you can just use,products
andgroup
, and then in theproducts
table you will havegroup_id
which will be theid
of thegroups
table. And you will use foreign key for better performance. This means one Group -> many products
– nakov
Nov 12 '18 at 17:07
2
you can always make itnullable
– nakov
Nov 12 '18 at 17:14
2
If you need to have a Many to Many relationship between products and groups, which means one product can have many groups and one group can have many products then your usage is correct. Otherwise there is no point of using middle table and you can use nullable field with foreign key.
– nakov
Nov 12 '18 at 17:20
|
show 5 more comments
I have this controller, with 2 relationships: groups and group making a joing
public function find($name)
$locate= Products::where('name', 'like', "$name%")->with('groups.group')->get();
return response()->json($locate, 200);
With returns me this:
[
"name":"Test",
"code":"123",
"price":"321.00",
"created_at":null,
"updated_at":null,
"groups":
"id":1,
"product_id":1,
"group_id":2,
"created_at":null,
"updated_at":null,
"group":
"id":2,
"name":"Test",
"desc":"dasdasdsa",
"commission_s":2,
"commission_m":2,
"created_at":null,
"updated_at":null
]
The big problem is, i dont whant the "groups" object, its just a relational table.
The models:
class Products extends Model
protected $fillable = ['name', 'code', 'price'];
protected $hidden = ['id'];
public function Groups()
return $this->hasOne('ApppGroup', 'product_id', 'id');
Pgroup model
class pGroup extends Model
protected $fillable = ['group_id', 'product_id'];
public function Group()
return $this->belongsTo('AppProductGroup');
json laravel
I have this controller, with 2 relationships: groups and group making a joing
public function find($name)
$locate= Products::where('name', 'like', "$name%")->with('groups.group')->get();
return response()->json($locate, 200);
With returns me this:
[
"name":"Test",
"code":"123",
"price":"321.00",
"created_at":null,
"updated_at":null,
"groups":
"id":1,
"product_id":1,
"group_id":2,
"created_at":null,
"updated_at":null,
"group":
"id":2,
"name":"Test",
"desc":"dasdasdsa",
"commission_s":2,
"commission_m":2,
"created_at":null,
"updated_at":null
]
The big problem is, i dont whant the "groups" object, its just a relational table.
The models:
class Products extends Model
protected $fillable = ['name', 'code', 'price'];
protected $hidden = ['id'];
public function Groups()
return $this->hasOne('ApppGroup', 'product_id', 'id');
Pgroup model
class pGroup extends Model
protected $fillable = ['group_id', 'product_id'];
public function Group()
return $this->belongsTo('AppProductGroup');
json laravel
json laravel
asked Nov 12 '18 at 16:55
SkullFireSkullFire
275
275
1
Then just remove->with('groups.group')
– nakov
Nov 12 '18 at 16:59
1
Why do you call it groups when you have only one per product? Why don't you simply call it group, and then use->with('group')
– nakov
Nov 12 '18 at 17:03
1
Then you structure is wrong. You use many to many when you need one to many. Instead of using the middle table which isProductGroup
you can just use,products
andgroup
, and then in theproducts
table you will havegroup_id
which will be theid
of thegroups
table. And you will use foreign key for better performance. This means one Group -> many products
– nakov
Nov 12 '18 at 17:07
2
you can always make itnullable
– nakov
Nov 12 '18 at 17:14
2
If you need to have a Many to Many relationship between products and groups, which means one product can have many groups and one group can have many products then your usage is correct. Otherwise there is no point of using middle table and you can use nullable field with foreign key.
– nakov
Nov 12 '18 at 17:20
|
show 5 more comments
1
Then just remove->with('groups.group')
– nakov
Nov 12 '18 at 16:59
1
Why do you call it groups when you have only one per product? Why don't you simply call it group, and then use->with('group')
– nakov
Nov 12 '18 at 17:03
1
Then you structure is wrong. You use many to many when you need one to many. Instead of using the middle table which isProductGroup
you can just use,products
andgroup
, and then in theproducts
table you will havegroup_id
which will be theid
of thegroups
table. And you will use foreign key for better performance. This means one Group -> many products
– nakov
Nov 12 '18 at 17:07
2
you can always make itnullable
– nakov
Nov 12 '18 at 17:14
2
If you need to have a Many to Many relationship between products and groups, which means one product can have many groups and one group can have many products then your usage is correct. Otherwise there is no point of using middle table and you can use nullable field with foreign key.
– nakov
Nov 12 '18 at 17:20
1
1
Then just remove
->with('groups.group')
– nakov
Nov 12 '18 at 16:59
Then just remove
->with('groups.group')
– nakov
Nov 12 '18 at 16:59
1
1
Why do you call it groups when you have only one per product? Why don't you simply call it group, and then use
->with('group')
– nakov
Nov 12 '18 at 17:03
Why do you call it groups when you have only one per product? Why don't you simply call it group, and then use
->with('group')
– nakov
Nov 12 '18 at 17:03
1
1
Then you structure is wrong. You use many to many when you need one to many. Instead of using the middle table which is
ProductGroup
you can just use, products
and group
, and then in the products
table you will have group_id
which will be the id
of the groups
table. And you will use foreign key for better performance. This means one Group -> many products– nakov
Nov 12 '18 at 17:07
Then you structure is wrong. You use many to many when you need one to many. Instead of using the middle table which is
ProductGroup
you can just use, products
and group
, and then in the products
table you will have group_id
which will be the id
of the groups
table. And you will use foreign key for better performance. This means one Group -> many products– nakov
Nov 12 '18 at 17:07
2
2
you can always make it
nullable
– nakov
Nov 12 '18 at 17:14
you can always make it
nullable
– nakov
Nov 12 '18 at 17:14
2
2
If you need to have a Many to Many relationship between products and groups, which means one product can have many groups and one group can have many products then your usage is correct. Otherwise there is no point of using middle table and you can use nullable field with foreign key.
– nakov
Nov 12 '18 at 17:20
If you need to have a Many to Many relationship between products and groups, which means one product can have many groups and one group can have many products then your usage is correct. Otherwise there is no point of using middle table and you can use nullable field with foreign key.
– nakov
Nov 12 '18 at 17:20
|
show 5 more comments
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53266763%2fhide-relationship-laravel%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53266763%2fhide-relationship-laravel%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
Then just remove
->with('groups.group')
– nakov
Nov 12 '18 at 16:59
1
Why do you call it groups when you have only one per product? Why don't you simply call it group, and then use
->with('group')
– nakov
Nov 12 '18 at 17:03
1
Then you structure is wrong. You use many to many when you need one to many. Instead of using the middle table which is
ProductGroup
you can just use,products
andgroup
, and then in theproducts
table you will havegroup_id
which will be theid
of thegroups
table. And you will use foreign key for better performance. This means one Group -> many products– nakov
Nov 12 '18 at 17:07
2
you can always make it
nullable
– nakov
Nov 12 '18 at 17:14
2
If you need to have a Many to Many relationship between products and groups, which means one product can have many groups and one group can have many products then your usage is correct. Otherwise there is no point of using middle table and you can use nullable field with foreign key.
– nakov
Nov 12 '18 at 17:20