Php 原始SQL查询的等效Laravel Eloquent

Php 原始SQL查询的等效Laravel Eloquent,php,sql,laravel,eloquent,query-builder,Php,Sql,Laravel,Eloquent,Query Builder,我最近开始学习php和laravel框架。目前,我正在学习从数据库中存储和检索数据的雄辩查询。我能够执行简单的选择、插入等查询,但我试图理解更复杂的语句,包括连接 这是我要翻译的查询,例如: $sql=“选择p.id,p.name”从客户端c内部连接伙伴p ON c.id=p.p_id,其中p.id=:param”; 这可以很好地工作并提供输出,但是转换后的Eloquent不提供相同的输出。将此原始SQL查询正确地转换为Laravel Eloquent会是什么?另外,如果您对Eloquent中的

我最近开始学习php和laravel框架。目前,我正在学习从数据库中存储和检索数据的雄辩查询。我能够执行简单的选择、插入等查询,但我试图理解更复杂的语句,包括连接

这是我要翻译的查询,例如:
$sql=“选择p.id,p.name”从客户端c内部连接伙伴p ON c.id=p.p_id,其中p.id=:param”;

这可以很好地工作并提供输出,但是转换后的Eloquent不提供相同的输出。将此原始SQL查询正确地转换为Laravel Eloquent会是什么?另外,如果您对Eloquent中的联接有一点了解,我们将不胜感激

这就是我尝试过的:

DB::table('clients as c')
     ->join('partners as p', 'c.id', '=', 'p.c_id')
     ->where('p.id', '=', ':param')
     ->select('p.id' , 'p.name')
     ->get();

末尾的参数是传递给查询生成器的变量

对我来说,这很简单,也很容易理解

DB::table('clients as c')
     ->join('partners as p', 'c.id', '=', 'p.c_id')
     ->where('p.id', '=', $paramerterVariable)
     ->select('p.id' , 'p.name')
     ->get();
p.p\u id它应该是partners表中的客户id

对于原始SQL查询,这是一个很好的Laravel,或者您也可以将Laravel关系用于延迟加载和急切加载

$client = Client::where('id', $clientId);
$partners = $client->partners();

这是一个输入错误,因为我手工输入了它。更新谢谢。它成功了。我给了它错误的参数。:)
$client = Client::where('id', $clientId);
$partners = $client->partners();