【发布时间】:2015-08-14 04:52:41
【问题描述】:
我有这个问题:
$subcommon= MyModel::selectRaw('subjectlist_id, count(subjectlist_id) AS aggregate')
->whereIn('user_id', [Auth::id(), $user->id])
->groupBy('subjectlist_id')
->having('aggregate','>',1)
->get();
给出这个查询结果:
{"subjectlist_id":1,"aggregate":2} {"subjectlist_id":3,"aggregate":2}
我也有这样的疑问:
$values = Mysecondmodel::where('user_id', Auth::id())
->first();
给出这个结果:
{"id":1,"subjectlist_id":1, "article_id":4}
因为我发现加入这两个模型太难了,所以我决定将它们输出为数组,所以我希望 subjectlist_id 至少有 1 个匹配值作为它执行我显示的查询的条件在底部。我假设它是 arrayintersect 方法,但我不确定如何使用它。
$values = Mysecondmodel::where('user_id', Auth::id())
->first();
到目前为止我有这个:
$subcommonarray = (array) $subcommon;
$valuesarray = (array) $values;
$a = $subcommonarray;
$b = $valuesarray;
$c = array_intersect_key($a, $b);
if (count($c) > 0) {
$newquery = Mysecondmodel::where(user_id, Auth::id())
->first();
}
但我认为这是比较键而不是值。如何将值和键匹配在一起?
【问题讨论】: