Php 在laravel中使用join进行查询
我需要用laravel编写这个查询,但我不知道如何编写它Php 在laravel中使用join进行查询,php,mysql,laravel,Php,Mysql,Laravel,我需要用laravel编写这个查询,但我不知道如何编写它 Select RANKED.rankTotal*MATCHED.Popularity score , urlID from ( SELECT sum(rank) as rankTotal , urlID FROM searchengine.indexer where keyword IN("there","is") group
Select RANKED.rankTotal*MATCHED.Popularity score
, urlID
from
( SELECT sum(rank) as rankTotal
, urlID
FROM searchengine.indexer
where keyword IN("there","is")
group
by urlID
) RANKED
,
( Select ID
, Popularity
From searchengine.visitedpages
where document LIKE '%there is%'
) MATCHED
where RANKED.urlID = MATCHED.ID ;
看看这是否适合您:
$query = \DB::raw("Select RANKED.rankTotal*MATCHED.Popularity as score, urlID from (SELECT
sum(rank) as rankTotal,urlID
FROM searchengine.indexer
where (keyword=? or keyword=?) group by urlID ) as RANKED,
(Select ID, Popularity
From searchengine.visitedpages where document LIKE ?) as MATCHED
where RANKED.urlID =MATCHED.ID ;");
$results = \DB::select($query, ['there', 'is', '%there is%']);
你应该看看laravels是如何工作的,它也会帮助你使你的查询更容易阅读。我不是stackoverflow的常客。那么,有人能解释一下否决票吗?这不是op所要求的,这只是把普通的SQl放到laravel中,让它来处理。
“我需要用laravel编写这个查询”
-因为这个短语,我想他知道还有另一种方式,查询生成器,但他不知道如何使用它/到底要找什么。我可能错了,但我认为查询生成器的替代方案是只运行标准的mysqli.*
或PDO
函数。