我想这样加入。我在哪里出错?
<?php
for($i=1; $i<=$someValue; $i++){
$allProjectsList = DB::table('user')
->join('firstTable', 'user.id', '=','firstTable.id')
->join('secondTable', 'user.pidm', '=','secondTable.id')
//->where('id', '=', '$anotherValue')
->first();
$anotherValue++;
}
?>
-更新-
这个很好用,但是
<?php
for($i=1; $i<=$someValue; $i++){
$allProjectsList = DB::table('user')
->join('firstTable', 'user.id', '=','firstTable.id')
->join('secondTable', 'user.pidm', '=','secondTable.id')
->where('user.id', '=', '123456')
->first();
}
?>
我想使用$ x这样的变量来代替'123456',但是它不起作用。有什么建议么 ?
最佳答案
首先使用where语句确实有效。但是它只会返回单个用户模型,在此情况下,get将返回一个集合对象数组。该数组可以容纳零个,一个或多个用户模型。
我认为您遇到的主要问题之一是循环查询(返回一个模型)。应该始终避免在循环中进行查询,而老实说,我什至无法告诉您为什么要在循环中进行查询,因为甚至没有使用$ i,然后在循环中每次迭代都覆盖了$ allProducts值。
如果没有更多的信息和上下文,我将无法为您提供进一步的帮助(除了您似乎为自己想的那样),但是我认为,获得正确答案的答案很重要,这是有关首先了解的信息以及其他人的答案的。寻求帮助。
另一个要注意的是,您似乎将用户模型用作用户模型以外的东西。我鼓励您研究关系,因为您实际上不应该使用一个用户ID返回多个用户模式。
http://laravel.com/docs/4.2/eloquent