我已經看到各種 Laravel 教程以兩種不同的方式引用了相關模型:return $this->belongsTo('App\User');return $this->belongsTo(User::class');我見過的大多數教程都使用第二種方法,但考慮到命名空間存在,第一種方法似乎更容易解決。有什么區別?
2 回答

拉莫斯之舞
TA貢獻1820條經驗 獲得超10個贊
由于User::class
返回,這兩個選項的工作方式完全相同'App\User'
。Laravel 在其文檔中混合了兩者。
第二個選項的優點是 IDE 可以解釋它,這允許自動重命名所有文件的名稱或命名空間以及單擊到實際類。

夢里花落0921
TA貢獻1772條經驗 獲得超6個贊
恕我直言,我會和
return $this->belongsTo(User::class);`
如果您必須折射您的應用程序并更改您的模型命名空間,例如您想將它們移動到 下App\Models\
,您只需將use
子句從:
use App\User;
到:
use App\Models\User;
對于使用模型的每個類(在文件的開頭),這只是一個替換User
。
相反,如果您使用return $this->belongsTo('App\User');
,則必須在類文件的不同部分進行搜索/替換。如果您有很多模型/控制器,則可以節省時間且不易出錯。
- 2 回答
- 0 關注
- 190 瀏覽
添加回答
舉報
0/150
提交
取消