bluesnow

155 经验值

这样确实是可以了,只是我还是没有理解为何一定要 return $user呢?
前面不是User::create已经将数据写入数据库了吗?但如果不 return $user就会报错这是肯定的

谢谢大家的热心回复,在此一并感谢

使用laravel5.3,直接使用make:auth生成用户注册管理,遇到了一个问题,请大家指点,谢谢:

因为想要给注册用户发送邮件,所以想直接将发送邮件的语句直接写在 RegisterController控制器的create方法中,但这个create方法中的 return User::create 为何不能改为 User::create 呢?因为这个直接return,如此一来,就不能实现创建用户之后再发送邮件了

protected function create(array $data)
    {
      return User::create([
       'name' => $data['name'],
       'email' => $data['email'],
       'password' => bcrypt($data['password']),
       'avatar'=>'/image/default_user_avatar.jpg',
       'confirm_code'=>str_random(48),
   ]);
  }

$article = new App\Article;
$article = $article->find(1);
$article->user;

教主就是教主,这样就对了,再次感谢

感觉是只要用了 new 这个关键字,生成相应的新的model的实例,就不会有正确的结果了,再次感谢您百忙中的回复

用您这两行代码没有问题,会返回正确的结果,但分开就不行,很奇怪,

下面是 user 这个model的执行结果:

    >>> $user = new App\User;
=> App\User {#704}
>>> $user->find(1);
=> App\User {#716
     id: 1,
     name: "icanfly",
     email: "[email protected]",
     created_at: "2016-11-24 18:33:40",
     updated_at: "2016-11-24 18:33:40",
   }
>>> $user->articles;
=> Illuminate\Database\Eloquent\Collection {#705
     all: [],
   }
>>> $user->articles();
=> Illuminate\Database\Eloquent\Relations\HasMany {#702}
>>> $user->articles->toArray();
=> []
>>>

谢谢您的回复,刚刚执行了一下,这是结果:

    >>> $article = new App\Article;
=> App\Article {#698}
>>> $article->find(1);
=> App\Article {#718
     id: 1,
     title: "CPU宸环",
     body: "php artisan migrate:refresh",
     publishat: "2016-11-24 18:33:53",
     created_at: "2016-11-24 18:33:53",
     updated_at: "2016-11-24 18:33:53",
     user_id: 1,
   }
>>> $article->user();
=> Illuminate\Database\Eloquent\Relations\BelongsTo {#703}
>>>

这样也没有预想要的结果,奇怪的是它并没有返回null

>>> $article=new App\Article;
=> App\Article {#702}
>>> $article->find(1);
=> App\Article {#701
     id: 1,
     title: "CPU宸环",
     body: "php artisan migrate:refresh",
     publishat: "2016-11-24 18:33:53",
     created_at: "2016-11-24 18:33:53",
     updated_at: "2016-11-24 18:33:53",
     user_id: 1,
   }
>>> $article->user;
=> null

请问教主,为何这样执行命令,就只会返回空呢?谢谢