if1024

532 经验值

情况是这样的,之前自己搞了个签到的小玩意。连续签到 然后跨月自动清零连续天数。今天跑本地的时候 发现竟然可以无限签到,找到原因是updated_at没更新。
这句是更新的代码,

$result = $signInfo->update(['num' => 1);

好奇为啥没更新 发现数据库 原始的数据就是 num 就是 1。
我想问的是laravel 是不是要更新的数据和原来数据的数据一样 他就默认不执行更新数据库操作啊?
本人能力有限就没办法继续往下探索了。求不喷

后来我是这样解决的

$result = $signInfo->update(['num' => 1,'updated_at'=>Carbon::now()]);

在laravel里面 怎么才能动态加载不同的类呢。
就例如支付的时候 可能是支付宝 可能是微信
怎么根据用户选择来加载相应的配置呢?谢谢。
我知道可以根据命名空间来加载,在laravel里面有优雅点的方式么

查询数据库我知道get的时候指定返回的字段能返回需要的字段, 但是字段比较多的时候,或者只是不需要返回其中的有些字段的时候 应该怎么操作?
Eloquent ORM我知道,但是直接DB操作的时候怎么操作?

例如 现在有一个会员的表单
邮箱
名字
一些单选框 多选框

然后现在要修改这些中的某一项,需要显示出修改之前的值
现在我是这样写的

<input type="radio" name="data[level]" value="3"  @if ($data['level'] == 3) checked @endif> 等级3

像下面这种有没有优雅一点的写法?

@if ($data['level'] == 3) checked @endif

谢谢

问题是这样的,因为要在sql server的数据库上做开发,现有的数据库的类型不能改变,数据库有个类型是image的,实际上这个image类型的字段存的是文字,我new model后save就会报错“ nvarchar 与 image 不兼容” 但是我直接运行这个sql 语句没问题。

我知道什么原因了,大家不用回复了。。。
犯了个低级错误。。

表单提交上来的数据大概是这样的

data[id]:4936
data[price]:10

我这样验证会出现 0 不能为空!

$this->validate($request, [
                'data.id'  => 'required|unique:goods',
                'data.price' => 'required',
            ]);

我想问问大概是什么原因呢?

页面上显示错误的那个是啥插件还是软件?