我想做下面的工作,这可能是不好的做法,我对Laravel来说很新,所以请让我知道!
我有一个名为的模型Files,它们Keywords通过数据透视表链接.
我正在运行以下代码,但我得到Undefined variable: keyword_id了错误.
$keyword_ids = array(148, 4);
$files = new Files;
foreach($keyword_ids as $keyword_id)
{
$files = $files->whereHas('keywords', function($query)
{
$query->where('id', '=', $keyword_id);
});
}
Run Code Online (Sandbox Code Playgroud)
非常感谢 !
您需要使用use关键字在闭包内访问变量.
foreach($keyword_ids as $keyword_id)
{
$files = $files->whereHas('keywords', function($query) use ($keyword_id)
{
$query->where('id', '=', $keyword_id);
});
}
Run Code Online (Sandbox Code Playgroud)