【问题标题】:Need help on select statement to be used in laravel需要有关在 laravel 中使用的 select 语句的帮助
【发布时间】:2017-08-30 12:34:05
【问题描述】:
select distinct clientID from Client where clientID not in (select clientID from courseDetails inner join course on coursedetails.courseID = course.courseID where coursedetails.courseID = '$courseID')
【问题讨论】:
标签:
mysql
sql
database
laravel
select
【解决方案1】:
如果您的查询是一个复杂的查询,那么您可以在laravel 中使用RAW 查询,例如:
$data = DB::select(DB::raw('your query'));
Reference
注意: DB::raw() 用于生成查询生成器不会进一步解析的任意 SQL 命令。因此,他们可以通过 SQL 注入创建攻击向量。
【解决方案2】:
我给你一个起点:
$results = DB::table('Client')
->whereNotIn('clientID', function($query) use ($courseID) {
$query->select('clientID')
->from('courseDetails')
->join('course', 'courseDetails.courseID', '=', 'course.courseID')
->where('coursedetails.courseID', '=', $courseID);
})->get();
这应该会让你继续前进。您可以根据需要调整它以获得预期的结果。
添加到@Mayank 答案,您可以像这样运行原始 SQL 并传递参数
$result = DB::select('select distinct... where coursedetails.courseID = ? ', [$courseID]);