How to parse an array within a query builder's get()
I have my Country model and a State Model. Only countries that have states can show states, or return ;
I would like to return this in one hit into my response object, yet I can't wrap my head around getting the id of the current country that is running in the query, I built this just now:
return response()->responseObject([
'code' => 200,
'status' => true,
'message' => 'Retrieved List of Available Countries',
'data' => Country::where('allow_registration', Country::REGISTRATION_ALLOWED)->get([
'id',
'name',
'iso',
'iso3',
'prefix',
'states' => function($query){}
])
]);
And I have another function waiting for this:
public static function getStates($id)
{
$states = State::where('country_id', $id);
return $states ? $states : ;
}
Am I approaching this right? What do I have to put in my sub query function in order for current country ID? Or did I approach this wrong and there is a more eloquent way of implementing?
laravel
add a comment |
I have my Country model and a State Model. Only countries that have states can show states, or return ;
I would like to return this in one hit into my response object, yet I can't wrap my head around getting the id of the current country that is running in the query, I built this just now:
return response()->responseObject([
'code' => 200,
'status' => true,
'message' => 'Retrieved List of Available Countries',
'data' => Country::where('allow_registration', Country::REGISTRATION_ALLOWED)->get([
'id',
'name',
'iso',
'iso3',
'prefix',
'states' => function($query){}
])
]);
And I have another function waiting for this:
public static function getStates($id)
{
$states = State::where('country_id', $id);
return $states ? $states : ;
}
Am I approaching this right? What do I have to put in my sub query function in order for current country ID? Or did I approach this wrong and there is a more eloquent way of implementing?
laravel
does the 'countries' table have state_id and does the 'states' table have country_id? If so I would route model bind and then return the property by creating a hasMany relationship. If you'd like more specifics let me know but the answer below is literally on the right track, just not explained properly.
– Brad Goldsmith
Dec 27 at 15:41
Hi there. Please try to avoid making gender assumptions about software engineers, as it can be unwelcoming. We tend to trim greetings and salutations anyway. Thank you.
– halfer
yesterday
add a comment |
I have my Country model and a State Model. Only countries that have states can show states, or return ;
I would like to return this in one hit into my response object, yet I can't wrap my head around getting the id of the current country that is running in the query, I built this just now:
return response()->responseObject([
'code' => 200,
'status' => true,
'message' => 'Retrieved List of Available Countries',
'data' => Country::where('allow_registration', Country::REGISTRATION_ALLOWED)->get([
'id',
'name',
'iso',
'iso3',
'prefix',
'states' => function($query){}
])
]);
And I have another function waiting for this:
public static function getStates($id)
{
$states = State::where('country_id', $id);
return $states ? $states : ;
}
Am I approaching this right? What do I have to put in my sub query function in order for current country ID? Or did I approach this wrong and there is a more eloquent way of implementing?
laravel
I have my Country model and a State Model. Only countries that have states can show states, or return ;
I would like to return this in one hit into my response object, yet I can't wrap my head around getting the id of the current country that is running in the query, I built this just now:
return response()->responseObject([
'code' => 200,
'status' => true,
'message' => 'Retrieved List of Available Countries',
'data' => Country::where('allow_registration', Country::REGISTRATION_ALLOWED)->get([
'id',
'name',
'iso',
'iso3',
'prefix',
'states' => function($query){}
])
]);
And I have another function waiting for this:
public static function getStates($id)
{
$states = State::where('country_id', $id);
return $states ? $states : ;
}
Am I approaching this right? What do I have to put in my sub query function in order for current country ID? Or did I approach this wrong and there is a more eloquent way of implementing?
laravel
laravel
edited yesterday
halfer
14.3k758109
14.3k758109
asked Dec 27 at 13:57
erezt
879
879
does the 'countries' table have state_id and does the 'states' table have country_id? If so I would route model bind and then return the property by creating a hasMany relationship. If you'd like more specifics let me know but the answer below is literally on the right track, just not explained properly.
– Brad Goldsmith
Dec 27 at 15:41
Hi there. Please try to avoid making gender assumptions about software engineers, as it can be unwelcoming. We tend to trim greetings and salutations anyway. Thank you.
– halfer
yesterday
add a comment |
does the 'countries' table have state_id and does the 'states' table have country_id? If so I would route model bind and then return the property by creating a hasMany relationship. If you'd like more specifics let me know but the answer below is literally on the right track, just not explained properly.
– Brad Goldsmith
Dec 27 at 15:41
Hi there. Please try to avoid making gender assumptions about software engineers, as it can be unwelcoming. We tend to trim greetings and salutations anyway. Thank you.
– halfer
yesterday
does the 'countries' table have state_id and does the 'states' table have country_id? If so I would route model bind and then return the property by creating a hasMany relationship. If you'd like more specifics let me know but the answer below is literally on the right track, just not explained properly.
– Brad Goldsmith
Dec 27 at 15:41
does the 'countries' table have state_id and does the 'states' table have country_id? If so I would route model bind and then return the property by creating a hasMany relationship. If you'd like more specifics let me know but the answer below is literally on the right track, just not explained properly.
– Brad Goldsmith
Dec 27 at 15:41
Hi there. Please try to avoid making gender assumptions about software engineers, as it can be unwelcoming. We tend to trim greetings and salutations anyway. Thank you.
– halfer
yesterday
Hi there. Please try to avoid making gender assumptions about software engineers, as it can be unwelcoming. We tend to trim greetings and salutations anyway. Thank you.
– halfer
yesterday
add a comment |
1 Answer
1
active
oldest
votes
in your country
model create states
relation
$this->hasMany(State::class);
then you can get all countries with its states by that :
Country::with('states')->get();
1
you gonna get downvoted really quick with that answer that doesn't address anything relevant to my question, I do appreciate your effort though, thanks Gamal.
– erezt
Dec 27 at 14:32
what is your problem with this answer? @erezt
– Ahmed Nour Jamal El-Din
Dec 27 at 17:20
add a comment |
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%2f53946261%2fhow-to-parse-an-array-within-a-query-builders-get%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
in your country
model create states
relation
$this->hasMany(State::class);
then you can get all countries with its states by that :
Country::with('states')->get();
1
you gonna get downvoted really quick with that answer that doesn't address anything relevant to my question, I do appreciate your effort though, thanks Gamal.
– erezt
Dec 27 at 14:32
what is your problem with this answer? @erezt
– Ahmed Nour Jamal El-Din
Dec 27 at 17:20
add a comment |
in your country
model create states
relation
$this->hasMany(State::class);
then you can get all countries with its states by that :
Country::with('states')->get();
1
you gonna get downvoted really quick with that answer that doesn't address anything relevant to my question, I do appreciate your effort though, thanks Gamal.
– erezt
Dec 27 at 14:32
what is your problem with this answer? @erezt
– Ahmed Nour Jamal El-Din
Dec 27 at 17:20
add a comment |
in your country
model create states
relation
$this->hasMany(State::class);
then you can get all countries with its states by that :
Country::with('states')->get();
in your country
model create states
relation
$this->hasMany(State::class);
then you can get all countries with its states by that :
Country::with('states')->get();
answered Dec 27 at 14:05
hossamGamal
1114
1114
1
you gonna get downvoted really quick with that answer that doesn't address anything relevant to my question, I do appreciate your effort though, thanks Gamal.
– erezt
Dec 27 at 14:32
what is your problem with this answer? @erezt
– Ahmed Nour Jamal El-Din
Dec 27 at 17:20
add a comment |
1
you gonna get downvoted really quick with that answer that doesn't address anything relevant to my question, I do appreciate your effort though, thanks Gamal.
– erezt
Dec 27 at 14:32
what is your problem with this answer? @erezt
– Ahmed Nour Jamal El-Din
Dec 27 at 17:20
1
1
you gonna get downvoted really quick with that answer that doesn't address anything relevant to my question, I do appreciate your effort though, thanks Gamal.
– erezt
Dec 27 at 14:32
you gonna get downvoted really quick with that answer that doesn't address anything relevant to my question, I do appreciate your effort though, thanks Gamal.
– erezt
Dec 27 at 14:32
what is your problem with this answer? @erezt
– Ahmed Nour Jamal El-Din
Dec 27 at 17:20
what is your problem with this answer? @erezt
– Ahmed Nour Jamal El-Din
Dec 27 at 17:20
add a comment |
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.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- 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%2f53946261%2fhow-to-parse-an-array-within-a-query-builders-get%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
does the 'countries' table have state_id and does the 'states' table have country_id? If so I would route model bind and then return the property by creating a hasMany relationship. If you'd like more specifics let me know but the answer below is literally on the right track, just not explained properly.
– Brad Goldsmith
Dec 27 at 15:41
Hi there. Please try to avoid making gender assumptions about software engineers, as it can be unwelcoming. We tend to trim greetings and salutations anyway. Thank you.
– halfer
yesterday