Hide relationship laravel










0















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');











share|improve this question

















  • 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 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





    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















0















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');











share|improve this question

















  • 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 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





    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













0












0








0








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');











share|improve this question














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






share|improve this question













share|improve this question











share|improve this question




share|improve this question










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 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





    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












  • 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 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





    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







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












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
);



);













draft saved

draft discarded


















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















draft saved

draft discarded
















































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.




draft saved


draft discarded














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





















































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







Popular posts from this blog

How to how show current date and time by default on contact form 7 in WordPress without taking input from user in datetimepicker

Syphilis

Darth Vader #20