让我说我有一个
其中包含一个功能
public function store($store)
{
$store = (query)->get();
return $store;
}
现在我希望store
中的一个列可供所有函数访问,例如
$id = $store->id
我希望它可以像这样使用
public function abv()
{
$categories = (query)->where('id','=',$id)->get();
}
我的观点是它成为整个控制器的全局变量。我如何实现这一目标?
答案 0 :(得分:2)
我不确定这是否是您想要的,但您可以在Controller protected $id
中声明受保护或公共变量,然后在您调用商店时
public function store($store)
{
$store = (query)->get();
$this->id = $store->id;
return $store;
}
并用于其他功能:
public function abv()
{
$categories = (query)->where('id','=',$this->id)->get();
}
但是这只适用于相同的Controller实例,如果你创建一个新的Controller实例,那么在你调用store方法之前,不会设置变量$ id。
答案 1 :(得分:2)
您可以在控制器的构造函数中将此值设置为私有属性。
class MyController {
private $id;
public function __construct() {
$this->id = (query)->get();
}
// More controller functions
}
现在,您的控制器中的任何功能都可以使用$this->id
调用此属性。