Laravel nested whereIn from multiple tablesNested 'AND OR' Query in EloquentIn Laravel Eloquent, select “whereIn” from parent tableLaravel whereIn with a where clause on each array itemQuery multiple, nested Relationships in Laravel/EloquentHandling repeating rows fetched through join in laravelHow to join with three rows from table one with second table in laravelLaravel Nested QueryUsing whereIn() method with laravel Eloquent ModelLaravel - Using multi connection in single queryLaravel Eloquent Inner Join on Self Referencing Table

Left switch on gang light pair not getting power

How should an administrative assistant reply to student addressing them as "Professor" or "Doctor"?

Should RL rewards diminish over time?

During the Space Shuttle Columbia Disaster of 2003, Why Did The Flight Director Say, "Lock the doors."?

Infeasibility in mathematical optimization models

What does "sardine box" mean?

Write an interpreter for *

Why should we care about syntactic proofs if we can show semantically that statements are true?

Why did Gandalf use a sword against the Balrog?

First amendment and employment: Can a police department terminate an officer for speech?

Help evaluating integral (anything simple that I am missing?)

What does "目的化して久しい" mean in this dialogue?

Team goes to lunch frequently, I do intermittent fasting but still want to socialize

How does this kind of structure made?

Simple Stop watch which i want to extend

A tool to replace all words with antonyms

Is TA-ing worth the opportunity cost?

What is the maximum number of PC-controlled undead?

Euler products in positive characteristic? [reference request]

Trying to write a shell script that keeps testing a server remotely, but it keeps falling in else statement when I logout

Why is transplanting a specific intact brain impossible if it is generally possible?

Why does Intel's Haswell chip allow FP multiplication to be twice as fast as addition?

Is it okay for a ticket seller to grab a tip in the USA?

Replace value with variable length between double quotes



Laravel nested whereIn from multiple tables


Nested 'AND OR' Query in EloquentIn Laravel Eloquent, select “whereIn” from parent tableLaravel whereIn with a where clause on each array itemQuery multiple, nested Relationships in Laravel/EloquentHandling repeating rows fetched through join in laravelHow to join with three rows from table one with second table in laravelLaravel Nested QueryUsing whereIn() method with laravel Eloquent ModelLaravel - Using multi connection in single queryLaravel Eloquent Inner Join on Self Referencing Table






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








0















I'm using Laravel 5.7. How do i rewrite below code as a single nested query?



I'm currently fetching the result using 2 database queries. I go through some of the answers in stackoverflow, but i still have doubts in nesting multiple tables



 $connectedParts = DB::table('part_connections as c')
->join('parts_master as p', 'p.id', '=', 'c.part_number_id')
->where('c.part_number_id', $partId)
->where('p.id', $partId)
->pluck('connected_to');

$connectedComponents = DB::table('part_connections as pc')
->join('parts_master as pm', 'pm.id', '=', 'pc.connected_to')
->where('part_number_id',$partId)
->where('pm.part_type','1')
->whereIn('connected_to', $connectedParts)
->pluck('connected_to');


Any help would be greatly appreciated.










share|improve this question
























  • What is the advantage of your solution?

    – SiZE
    Mar 27 at 8:30











  • I just wanted to know how to nest this query, may be it'll be of some help in the future

    – Nadiya
    Mar 27 at 8:34

















0















I'm using Laravel 5.7. How do i rewrite below code as a single nested query?



I'm currently fetching the result using 2 database queries. I go through some of the answers in stackoverflow, but i still have doubts in nesting multiple tables



 $connectedParts = DB::table('part_connections as c')
->join('parts_master as p', 'p.id', '=', 'c.part_number_id')
->where('c.part_number_id', $partId)
->where('p.id', $partId)
->pluck('connected_to');

$connectedComponents = DB::table('part_connections as pc')
->join('parts_master as pm', 'pm.id', '=', 'pc.connected_to')
->where('part_number_id',$partId)
->where('pm.part_type','1')
->whereIn('connected_to', $connectedParts)
->pluck('connected_to');


Any help would be greatly appreciated.










share|improve this question
























  • What is the advantage of your solution?

    – SiZE
    Mar 27 at 8:30











  • I just wanted to know how to nest this query, may be it'll be of some help in the future

    – Nadiya
    Mar 27 at 8:34













0












0








0


0






I'm using Laravel 5.7. How do i rewrite below code as a single nested query?



I'm currently fetching the result using 2 database queries. I go through some of the answers in stackoverflow, but i still have doubts in nesting multiple tables



 $connectedParts = DB::table('part_connections as c')
->join('parts_master as p', 'p.id', '=', 'c.part_number_id')
->where('c.part_number_id', $partId)
->where('p.id', $partId)
->pluck('connected_to');

$connectedComponents = DB::table('part_connections as pc')
->join('parts_master as pm', 'pm.id', '=', 'pc.connected_to')
->where('part_number_id',$partId)
->where('pm.part_type','1')
->whereIn('connected_to', $connectedParts)
->pluck('connected_to');


Any help would be greatly appreciated.










share|improve this question














I'm using Laravel 5.7. How do i rewrite below code as a single nested query?



I'm currently fetching the result using 2 database queries. I go through some of the answers in stackoverflow, but i still have doubts in nesting multiple tables



 $connectedParts = DB::table('part_connections as c')
->join('parts_master as p', 'p.id', '=', 'c.part_number_id')
->where('c.part_number_id', $partId)
->where('p.id', $partId)
->pluck('connected_to');

$connectedComponents = DB::table('part_connections as pc')
->join('parts_master as pm', 'pm.id', '=', 'pc.connected_to')
->where('part_number_id',$partId)
->where('pm.part_type','1')
->whereIn('connected_to', $connectedParts)
->pluck('connected_to');


Any help would be greatly appreciated.







laravel nested-query






share|improve this question













share|improve this question











share|improve this question




share|improve this question










asked Mar 27 at 8:23









NadiyaNadiya

177 bronze badges




177 bronze badges















  • What is the advantage of your solution?

    – SiZE
    Mar 27 at 8:30











  • I just wanted to know how to nest this query, may be it'll be of some help in the future

    – Nadiya
    Mar 27 at 8:34

















  • What is the advantage of your solution?

    – SiZE
    Mar 27 at 8:30











  • I just wanted to know how to nest this query, may be it'll be of some help in the future

    – Nadiya
    Mar 27 at 8:34
















What is the advantage of your solution?

– SiZE
Mar 27 at 8:30





What is the advantage of your solution?

– SiZE
Mar 27 at 8:30













I just wanted to know how to nest this query, may be it'll be of some help in the future

– Nadiya
Mar 27 at 8:34





I just wanted to know how to nest this query, may be it'll be of some help in the future

– Nadiya
Mar 27 at 8:34












1 Answer
1






active

oldest

votes


















0














Set your relationship properly in your model first then try this query:



//PartConnection model - add for eager loading
public function master()
return $this->belongsTo('PartMaster::class', 'connected_to', 'id');


$query = PartConnection::whereHas(‘master’, function($qry)) use ($partId)
$qry->where(‘parts_master.id’, $partId);
$qry->where(‘parts_master.part_type’, 1);
);

$query->where(‘part_number_id’, $partId);

$connectedComponents = $query->get();


update



Try this then:



$connectedComponents = DB::table('part_connections as pc')
->join('parts_master as pm', function($join)
$join->on('pc.connected_to', '=', 'pm.id');
$join->on('pc.part_number_id', '=', 'pm.id');
) //updated this - removed ;
->where('part_number_id',$partId)
->where('pm.part_type','1')
->get();





share|improve this answer



























  • table 'part_connection' is really a big table, so i didn't create columns 'created_at' and 'updated_at'. I want to use Query builder instead

    – Nadiya
    Mar 27 at 10:34











  • updated @Nadiya

    – rfpdl
    Mar 27 at 10:55












  • It didn't work.Got empty array.

    – Nadiya
    Mar 27 at 11:21











  • sorry got it wrong, try it again, look at the comment

    – rfpdl
    Mar 27 at 11:25











  • Still same error

    – Nadiya
    Mar 27 at 12:00










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%2f55372635%2flaravel-nested-wherein-from-multiple-tables%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









0














Set your relationship properly in your model first then try this query:



//PartConnection model - add for eager loading
public function master()
return $this->belongsTo('PartMaster::class', 'connected_to', 'id');


$query = PartConnection::whereHas(‘master’, function($qry)) use ($partId)
$qry->where(‘parts_master.id’, $partId);
$qry->where(‘parts_master.part_type’, 1);
);

$query->where(‘part_number_id’, $partId);

$connectedComponents = $query->get();


update



Try this then:



$connectedComponents = DB::table('part_connections as pc')
->join('parts_master as pm', function($join)
$join->on('pc.connected_to', '=', 'pm.id');
$join->on('pc.part_number_id', '=', 'pm.id');
) //updated this - removed ;
->where('part_number_id',$partId)
->where('pm.part_type','1')
->get();





share|improve this answer



























  • table 'part_connection' is really a big table, so i didn't create columns 'created_at' and 'updated_at'. I want to use Query builder instead

    – Nadiya
    Mar 27 at 10:34











  • updated @Nadiya

    – rfpdl
    Mar 27 at 10:55












  • It didn't work.Got empty array.

    – Nadiya
    Mar 27 at 11:21











  • sorry got it wrong, try it again, look at the comment

    – rfpdl
    Mar 27 at 11:25











  • Still same error

    – Nadiya
    Mar 27 at 12:00















0














Set your relationship properly in your model first then try this query:



//PartConnection model - add for eager loading
public function master()
return $this->belongsTo('PartMaster::class', 'connected_to', 'id');


$query = PartConnection::whereHas(‘master’, function($qry)) use ($partId)
$qry->where(‘parts_master.id’, $partId);
$qry->where(‘parts_master.part_type’, 1);
);

$query->where(‘part_number_id’, $partId);

$connectedComponents = $query->get();


update



Try this then:



$connectedComponents = DB::table('part_connections as pc')
->join('parts_master as pm', function($join)
$join->on('pc.connected_to', '=', 'pm.id');
$join->on('pc.part_number_id', '=', 'pm.id');
) //updated this - removed ;
->where('part_number_id',$partId)
->where('pm.part_type','1')
->get();





share|improve this answer



























  • table 'part_connection' is really a big table, so i didn't create columns 'created_at' and 'updated_at'. I want to use Query builder instead

    – Nadiya
    Mar 27 at 10:34











  • updated @Nadiya

    – rfpdl
    Mar 27 at 10:55












  • It didn't work.Got empty array.

    – Nadiya
    Mar 27 at 11:21











  • sorry got it wrong, try it again, look at the comment

    – rfpdl
    Mar 27 at 11:25











  • Still same error

    – Nadiya
    Mar 27 at 12:00













0












0








0







Set your relationship properly in your model first then try this query:



//PartConnection model - add for eager loading
public function master()
return $this->belongsTo('PartMaster::class', 'connected_to', 'id');


$query = PartConnection::whereHas(‘master’, function($qry)) use ($partId)
$qry->where(‘parts_master.id’, $partId);
$qry->where(‘parts_master.part_type’, 1);
);

$query->where(‘part_number_id’, $partId);

$connectedComponents = $query->get();


update



Try this then:



$connectedComponents = DB::table('part_connections as pc')
->join('parts_master as pm', function($join)
$join->on('pc.connected_to', '=', 'pm.id');
$join->on('pc.part_number_id', '=', 'pm.id');
) //updated this - removed ;
->where('part_number_id',$partId)
->where('pm.part_type','1')
->get();





share|improve this answer















Set your relationship properly in your model first then try this query:



//PartConnection model - add for eager loading
public function master()
return $this->belongsTo('PartMaster::class', 'connected_to', 'id');


$query = PartConnection::whereHas(‘master’, function($qry)) use ($partId)
$qry->where(‘parts_master.id’, $partId);
$qry->where(‘parts_master.part_type’, 1);
);

$query->where(‘part_number_id’, $partId);

$connectedComponents = $query->get();


update



Try this then:



$connectedComponents = DB::table('part_connections as pc')
->join('parts_master as pm', function($join)
$join->on('pc.connected_to', '=', 'pm.id');
$join->on('pc.part_number_id', '=', 'pm.id');
) //updated this - removed ;
->where('part_number_id',$partId)
->where('pm.part_type','1')
->get();






share|improve this answer














share|improve this answer



share|improve this answer








edited Mar 27 at 12:11

























answered Mar 27 at 10:11









rfpdlrfpdl

6181 gold badge10 silver badges24 bronze badges




6181 gold badge10 silver badges24 bronze badges















  • table 'part_connection' is really a big table, so i didn't create columns 'created_at' and 'updated_at'. I want to use Query builder instead

    – Nadiya
    Mar 27 at 10:34











  • updated @Nadiya

    – rfpdl
    Mar 27 at 10:55












  • It didn't work.Got empty array.

    – Nadiya
    Mar 27 at 11:21











  • sorry got it wrong, try it again, look at the comment

    – rfpdl
    Mar 27 at 11:25











  • Still same error

    – Nadiya
    Mar 27 at 12:00

















  • table 'part_connection' is really a big table, so i didn't create columns 'created_at' and 'updated_at'. I want to use Query builder instead

    – Nadiya
    Mar 27 at 10:34











  • updated @Nadiya

    – rfpdl
    Mar 27 at 10:55












  • It didn't work.Got empty array.

    – Nadiya
    Mar 27 at 11:21











  • sorry got it wrong, try it again, look at the comment

    – rfpdl
    Mar 27 at 11:25











  • Still same error

    – Nadiya
    Mar 27 at 12:00
















table 'part_connection' is really a big table, so i didn't create columns 'created_at' and 'updated_at'. I want to use Query builder instead

– Nadiya
Mar 27 at 10:34





table 'part_connection' is really a big table, so i didn't create columns 'created_at' and 'updated_at'. I want to use Query builder instead

– Nadiya
Mar 27 at 10:34













updated @Nadiya

– rfpdl
Mar 27 at 10:55






updated @Nadiya

– rfpdl
Mar 27 at 10:55














It didn't work.Got empty array.

– Nadiya
Mar 27 at 11:21





It didn't work.Got empty array.

– Nadiya
Mar 27 at 11:21













sorry got it wrong, try it again, look at the comment

– rfpdl
Mar 27 at 11:25





sorry got it wrong, try it again, look at the comment

– rfpdl
Mar 27 at 11:25













Still same error

– Nadiya
Mar 27 at 12:00





Still same error

– Nadiya
Mar 27 at 12:00








Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.







Got a question that you can’t ask on public Stack Overflow? Learn more about sharing private information with Stack Overflow for Teams.



















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%2f55372635%2flaravel-nested-wherein-from-multiple-tables%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

SQL error code 1064 with creating Laravel foreign keysForeign key constraints: When to use ON UPDATE and ON DELETEDropping column with foreign key Laravel error: General error: 1025 Error on renameLaravel SQL Can't create tableLaravel Migration foreign key errorLaravel php artisan migrate:refresh giving a syntax errorSQLSTATE[42S01]: Base table or view already exists or Base table or view already exists: 1050 Tableerror in migrating laravel file to xampp serverSyntax error or access violation: 1064:syntax to use near 'unsigned not null, modelName varchar(191) not null, title varchar(191) not nLaravel cannot create new table field in mysqlLaravel 5.7:Last migration creates table but is not registered in the migration table

용인 삼성생명 블루밍스 목차 통계 역대 감독 선수단 응원단 경기장 같이 보기 외부 링크 둘러보기 메뉴samsungblueminx.comeh선수 명단용인 삼성생명 블루밍스용인 삼성생명 블루밍스ehsamsungblueminx.comeheheheh

155 수학 과학 기타 둘러보기 메뉴eh추가해eh문서를 완성해