微信登录

微信登录

因恶意注册过多,目前只支持微信模式
正在播放:从逻辑上看对象的关系绑定好了,但实际的结果却总能让人怀疑人生
发布于: 2020.05.29
hellocode 2020.05.27 11:44
创建为何save呢?直接create呀。save一般更新数据的时候使用类似update。直接用create返回没有问题,也没有出现站长说的问题。站长是不是累蒙了?注意身体
codinget 2020.05.28 03:09
save方法和create方法在关联对象的时候倒没有这种区别,按官网的说明,他们的区别在于save方法接受的参数是对象,而create方法接收的参数是数组。我也都进行了实验,都会出现这类问题,不知道兄弟使用的哪个版本,似乎咱们还能一起发现一个更诡异的问题,方便的时候可以把你的代码发给我,共同进步一下。
hellocode 2020.05.28 04:05
Laravel Framework 7.12.0

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

        ];
        $user->posts()->create($data);
        dd($user->posts);
codinget 2020.05.28 04:08
这么操作的话肯定是不会出问题的,用save或者create都没事,但是如果在创建之前随便对 $user->posts 进行任何操作,哪怕是空的遍历,后面就都无法获取到正确结果了
hellocode 2020.05.28 04:17
我这里一切正常按照生命周期来说应该也没有问题吧。
codinget 2020.05.28 04:27
正常按照生命周期??? 感觉我真的老了,不该晚上总不好好睡觉,没跟上你的思路,可否描述清晰些。
hellocode 2020.05.28 04: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 04:59
看来咱们的环境还是有不同的地方,这段代码到了我这里运行就不正常了,后面没有输出正确的数据,看来这个问题还有可挖掘的空间,我多找几个环境试试
hellocode 2020.05.28 05:00
辛苦了。辛苦了
标 题
编程原力 京ICP备17045322号-2
版权所有, 侵权者追究法律责任