你的目标是成为一名自由职业者

微信登录

微信登录

因恶意注册过多,目前只支持微信模式
正在播放:从逻辑上看对象的关系绑定好了,但实际的结果却总能让人怀疑人生
发布于: 2020.05.26
hellocode 2020.05.27 23:44

创建为何save呢?直接create呀。save一般更新数据的时候使用类似update。直接用create返回没有问题,也没有出现站长说的问题。站长是不是累蒙了?注意身体

codinget 2020.05.28 03:09

save方法和create方法在关联对象的时候倒没有这种区别,按官网的说明,他们的区别在于save方法接受的参数是对象,而create方法接收的参数是数组。我也都进行了实验,都会出现这类问题,不知道兄弟使用的哪个版本,似乎咱们还能一起发现一个更诡异的问题,方便的时候可以把你的代码发给我,共同进步一下。

hellocode 2020.05.28 16:05

Laravel Framework 7.12.0

$user = auth()-&gtuser(); $data = [ 'post' =&gt "hello" . now(),

    ];
    $user-&gtposts()-&gtcreate($data);
    dd($user-&gtposts);
codinget 2020.05.28 16:08

这么操作的话肯定是不会出问题的,用save或者create都没事,但是如果在创建之前随便对 $user-&gtposts 进行任何操作,哪怕是空的遍历,后面就都无法获取到正确结果了

hellocode 2020.05.28 16:17

我这里一切正常按照生命周期来说应该也没有问题吧。

codinget 2020.05.28 16:27

正常按照生命周期??? 感觉我真的老了,不该晚上总不好好睡觉,没跟上你的思路,可否描述清晰些。

hellocode 2020.05.28 16:52

我理解的生命周期   😅 初始化 ->

请求初始化 -> 执行该PHP脚本-> } 重复执行 请求处理完毕 ->

关闭模块

$user = auth()->user(); $data = [ 'post' => "hello" . now(), ]; if ($user->posts) { // 这里确实比创建的的Post少一条数据😇,因为还没有出发到create() echo $user->posts()->count(); } $user->posts()->create($data); //这里正常输出😅 dd(Post::all());

codinget 2020.05.28 16:59

看来咱们的环境还是有不同的地方,这段代码到了我这里运行就不正常了,后面没有输出正确的数据,看来这个问题还有可挖掘的空间,我多找几个环境试试

hellocode 2020.05.28 17:00

辛苦了。辛苦了

标 题
找一条适合自己的路,坚持走下去
编程原力 京ICP备17045322号-2
版权所有, 侵权者追究法律责任