Wednesday, March 29, 2017

How to build a query in laravel using eloquent model to join a table with another table with groupBy clause

I have one mysql query which is working but i want to use it using laravel eloquent model. I have model name "Drug","Organism","Organismdruglink". I am unable to build this query on controller. Can anyone help me converting this query according to laravel eloquent. Here is my query:

SELECT drugs.*,count_table.count_organism FROM drugs Inner join ( SELECT drug_id,count(organism_id) as count_organism FROM organismdruglinks GROUP by drug_id) count_table ON drugs.id = count_table.drug_id 

I tried

          $links=Organismdruglink::raw("SELECT count(organism_id)")->groupBy('drug_id')->get();
    $drugs=Drug::join( $links, "drugs.id", "=","count_table.drug_id")->get();

But still got nothing.



via Shubham pokhriyal

Advertisement