我試圖將使用Laravel 5創建的兩個網站合併到一個多站點中(是的,在做出此決定時我沒有那麼有經驗)。這兩個網站是一個爲貓和一個爲狗。Laravel在運行時選擇課程
我的問題是,我有一個叫Item
的模型,貓中的一個存儲的東西與狗的模型Item
不同。
我在我的控制器都做:
protected $posts_class;
public function __construct()
{
$this->items_class = "App\\Models\\" . config('domain') . "\\Item";
}
public function index()
{
$items = $this->items_class::all();
return view('items')->with('items', $items);
}
但它一直給了一個錯誤:
syntax error, unexpected '::' (T_PAAMAYIM_NEKUDOTAYIM)
但如果我這樣做:
public function index()
{
$class= $this->items_class;
$items = $class::all();
}
它的工作原理..但我不想在控制器方法中使用額外的變量。
我想知道爲什麼第一個不起作用。如果任何人有任何建議,如何使這個多場所的工作比這更好的方式,那麼我接受建議。謝謝。
謝謝!這解釋了爲什麼我沒有工作。每次我在控制器中使用模型時,使用forward_static_call都不是完整的代碼。 – mrsparrow