首先看代码:
$bookname = 'www';
User::with(array('roles' => function($query) {
$query->where('bookname' => $bookname);
}))->find(1);
但它导致错误“未定义变量$ bookname”..如何解决这个问题?谢谢
答案 0 :(得分:1)
语法错误。
$bookname = 'www';
User::with(array('roles' => function($query) use ($bookname) {
$query->where('bookname', '=', $bookname);
}))->find(1);
要使用匿名函数内的$bookname
,您需要使用use
语句传递它。此外,匿名函数中的where()
函数需要3个参数:
列名称,比较运算符,搜索值。