我有几张桌子。
用户可以向竞赛提交条目,用户可以向竞赛提交多个条目。
我需要知道的电子邮件的用户,提交了一个特定的竞赛条目。电子邮件在用户表中。
从比赛中获得所有参赛作品并不难,我要做到这一点:
$entries = Contest::find(1)->entries()->first();现在,我有了属于竞赛的所有条目,id为1(例如,使用)。现在,如何以有效的方式从我的用户表中获取所有用户电子邮件?
所以三个表是链接的,我从竞赛开始,然后从比赛中得到所有的条目,然后需要得到我还没有得到的所有的用户电子邮件。
希望这是有意义的。如果没有,那就问吧!
发布于 2013-06-23 21:59:24
$getUser = Contest::find(1)->users()->get();
$getEmails = $getUser->email;
foreach($getEmails as $getEmail)
echo $getEmail;您将获得与emails id 1相对应的所有用户contest,但首先必须在model中执行数据库关系才能使其正常工作。
发布于 2013-06-20 19:42:28
在这种情况下使用查询生成器可能更容易,而不是雄辩的:
// Get array of users that submitted entries to contest ID 45
$users = DB::table('contests AS c')
->join('entries AS e','e.contest_id','=','c.id')
->join('users AS u','e.user_id','=','u.id')
->where('c.id','=',45) // Contest ID
->get();
//or get an array of emails:
$users = DB::table('contests AS c')
->join('entries AS e','e.contest_id','=','c.id')
->join('users AS u','e.user_id','=','u.id')
->where('c.id','=',45) // Contest ID
->lists('email');在拉拉维尔,雄辩并不总是一切最好的决定。有时候查询生成器更好/更容易。对于简单的功能和关系,雄辩更方便。
https://stackoverflow.com/questions/17222281
复制相似问题