本期视频登录后即可观看

laravel 伤寒杂病论

3 集视频
23分钟

本期Laravel伤寒杂病论视频课程咱们看第一种最常见的问题,对象关系绑定,不管你使用直接修改关联字段的方式还是官方ORM的对象关系绑定方式,这类问题都会如期而至,打得你措手不及,所有的逻辑都没有问题,但是执行的结果就是一片惊奇,如果不手动重新拉取数据的话,咱们是得不到正确结果的。

hellocode 2020.05.27 15:44

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

国营 2020.05.27 19:09

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

hellocode 2020.05.28 08:05

Laravel Framework 7.12.0

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

]; $user-&gtposts()-&gtcreate($data); dd($user-&gtposts);

国营 2020.05.28 08:08

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

hellocode 2020.05.28 08:17

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

国营 2020.05.28 08:27

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

hellocode 2020.05.28 08: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());

国营 2020.05.28 08:59

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

hellocode 2020.05.28 09:00

辛苦了。辛苦了

微信扫码登录