我无法将变量绑定到DB::select()
,但不能告诉我我在做什么错。
下面是我的代码;
$id = 1;
return DB::select('SELECT
a.id,
a.tender_name, (SELECT COUNT(id)
FROM
merging_vendor_project
WHERE
planning_id=a.id) as count_participants
FROM
planning as a
WHERE a.id=?',[$id]);
我在做什么错,我该如何解决?
答案 0 :(得分:0)
您想通过SQL语句尝试执行的操作可以很容易地由Laravel的Eloquent完成。
首先让我们创建模型:
php artisan make:model Planning
按照约定,我们不使用Planning
,而是更像Plan
,但是为了简单起见,我将使用Planning
。
class Planning extends Model
{
public $table = 'planning'
public function merging_vendor_project(){
return $this->hasMany(MergeVendorProject::class)
}
}
现在您可以在模型上使用简单的withCount
,例如:
$id = 1
Planning::where('id', $id)->select('id', 'name', 'tender_name', 'merging_vendor_project_count')->withCount('merging_vendor_project')->get();
景气...你去。您已在Laravel style
中进行了初始查询。泰勒·奥特威尔(Taylor Otwell)为您使用口才而不是DB::select