我想要做的就是了解什么时候应该使用 hasOne()
以及什么时候应该使用 belongsTo()
。两者在我看来都是一样的。例如,这是我的模型:
use Illuminate\Database\Eloquent\Model;
use App\Categories;
use App\User;
class tickets extends Model
{
protected $table = "tickets";
public function category()
{
return $this->hasOne(Categories::class, 'id', 'category_id');
}
public function user()
{
return $this->hasOne(User::class, 'id', 'user_id');
}
}
我也可以使用
belongsTo()
函数来做同样的事情。只是我应该将它们放入 user
和 category
模型中。无论如何,我什么时候应该使用 hasOne()
或 belongsTo()
? 最佳答案
在处理一对多关系时,您将有一个 hasMany()
和一个 belongsTo()
。
我使用的经验法则是,如果一个表有一个外键(tickets 表有一个 user_id
fk),那么这个模型就是 belongsTo
用户。
与类别相同。
所以你上面的例子, Ticket
belongsTo
User
& Category
。
相反,User
hasMany
Ticket
和类似的 Category
hasMany
Ticket
关于php - 了解 Laravel 中的 hasOne() 和belongsTo() 函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49841785/