augushong
augushong
前后端分离,域名一样吗?不一样的话,跨域的时候,如果还不是https,那么cookie会更严格。 使用https并且设置试试: ``` // cookie 启用安全传输 'secure' => true, // httponly设置 'httponly' => true, ```
这就是基本的session机制。session存在服务器,浏览器不知道session的 任何信息。通过cookie的标识符访问指定的session。 中间的验证、安全、匹配等操作都有浏览器和服务器完成了。 如果你使用token的方式,那么一般就要你自己做统一的token携带和后端解码了。
你这是单纯的saveAll,他说的是模型一对多的操作
在文档哪部分看到第一种用法的,我查一下。 其实tp6的where数组用法就两种,第一是一维索引数组,第二是二维数组这种。 一维数组索引就是这样: ``` [ 'name' => 'thinkphp', 'status'=> 1 ] ``` 二维数组的这样: ``` [ ['name','=','thinkphp'], ['status','=',1] ] ``` 可以通过两次where设置一起使用。
并不是。 这里的理念最好是:能用多次where搞定的,不要试图用一个where搞定。 即便是使用一个where的时候,那么数组格式也一定要是统一的,而不应该是两种方式同时传入,否则显得更乱。 当然,is null和not null 的写法的问题,可以深究到mysql的哲学理念,有一些人经常喷mysql 的这一点。他们认为,= null 才是正确有效的写法。这里不展开了。 我认为这种“问题”,不太能得到官方得修改,这会让where变得更复杂。
恩,我的意思就是,如果用二维数组的方式,内部数组就要满足三个元素。 这样写试试: ``` [ ['field','=','null], ['field','=','not null], ] ```
这个不算问题吧,你传入null试试,好像就不会生成in查询语句了
hasWhere只能调用一次。 一个关联的查询,用hasWhere的数组条件或者闭包条件。 多个表的关联查询,直接用withJoin,然后用where表前缀查询。 where('a.status',0)->where('b.status',1)
你看看这是啥: https://www.kancloud.cn/manual/thinkphp6_0/1037598
数据库的事件跟模型的事件是两套系统,面对的意义不一样。 数据库的事件主要是对数据库操作的中间件拦截之类的操作,或者做一套统一的封装。 模型的事件支持各类业务操作,在这里面写图像处理写爬虫也没人管。