所以基本上我试图将当前对象变量传递给我的匿名函数,如下所示:
$options = Option::whereHas('texts', function($query) use ($this->language) {
$query->where(['language_id' => $this->language->id, ]);
})->where(['active' => 1, ])
->get();
但它给出:
语法错误,意外的 '->' (T_OBJECT_OPERATOR),需要 ',' 或 ')'`。
无论如何,如果我将另一个变量设置为$this->language并在匿名函数中传递它,它将正常工作。
$language = $this->language;
$options = Option::whereHas('texts', function($query) use ($language) {
$query->where(['language_id' => $language->id, ]);
})->where(['active' => 1, ])
->get();
那么,将对象变量传递给匿名函数中的“使用”部分的正确方法是什么?
墨色风雨