php - 在 Laravel Eloquent 中传递参数的最佳方法是什么:关系(方法),以及它有什么区别
问题描述
其实我不知道这两种方法有什么区别
Laravel 官方文档使用以下方法来声明关系
class User extends Model
{
public function phone()
{
return $this->hasOne('App\Phone'); // HERE (App\Phone) Parameter
}
}
并且大多数教程和专家(甚至在 Laracon 中)都使用以下方法。
class User extends Model
{
public function phone()
{
return $this->hasOne(Phone::class); // HERE (Phone::class) Parameter
}
}
简而言之,两者有什么区别,哪个方便。
return $this->hasOne(Phone::class); // Method one
/// VS
return $this->hasOne('App\Phone'); // Method Two
解决方案
它们都是相同的,但是Phone::class
是新的语法
让我们假设您想将您的Phone
类移动到另一个文件夹,您必须找到每个文件夹'App\Phone'
并将其重命名,New\Directory\Phone
但是当您使用时,Phone::class
您不必担心这一点。
推荐阅读
- angular - 用户名和密码在开发人员工具的网络选项卡上显示为纯文本
- c# - 服务参考适用于某些计算机但不是全部,出现我不理解的错误
- regex - 提取模式之间的内容
- webrtc - 使用 Janus 直播网络摄像头
- excel - 如何调用图表以插入新创建的 Word Doc
- python - 为什么我的表单反序列化为 Mutlidict 字符串而不是烧瓶中的整数
- python - 将所有 MatLab 工作区变量转换为 Python 变量
- python-3.x - 如何使用 python3 获取 .csv 文件的最后一行?
- mysql - 似乎无法将 REPLACE INTO 与 WHERE EXISTS 一起使用
- java - 无法将元素添加到 ArrayList