假设有两个类,
1- User
2- Contact
他们有1-1关系:
User ->hasOne(Contact)
Contact ->belongsTo(User)
现在根据Laravel 5.x文档,我需要"关联"孩子到父母。
$contact = Contact::create($input);
$user = Auth::User();
$contact->user()->associate($user);
但我看到代码做同样的事情"协会"如下: -
$user->contact()->create($input);
假设我的理解是正确的,这两者都会产生相同的结果。那么为什么Laravel Docs中没有提到这一点,对于一个初学者而言,它会让人感到困惑,因为这些文档在整个地方都是如此。#34;
其次,如果这是一种黑客攻击,或者是一种解决方法,那么比较这两者会有什么影响。
答案 0 :(得分:1)
它是相同的,显然有时取决于你的应用程序,需要关联方式,但如果你可以选择$user->contact()->create($input);
作为其更短/更清洁。