我的where 条件明明是
怎么就变成了is null?
还有 laravel orm 里面怎么自定义主键啊 我的表并没有id 这个字段
主键#
Eloquent 也会假设每个数据表都有一个叫做 id 的主键字段。你也可以定义一个 $primaryKey 属性来重写这个约定。
此外,Eloquent 假定主键是一个递增的整数值,这意味着在默认情况下主键将自动的被强制转换为 int。
如果你想使用非递增或者非数字的主键,你必须在你的模型 public $incrementing 属性设置为false。
引用自laravel官方文档,eloquent ORM部分。
2 回答2.5k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
1 回答857 阅读✓ 已解决
2 回答548 阅读✓ 已解决
945 阅读
2 回答578 阅读
1 回答693 阅读
哥们你这个写法,我看不懂。
where有好几种写法,我只说我知道的(代码纯手打,有错的地方见谅)。
1.数组(限等于)
User::where(['name'=>'蚂蚁','sex'=>'男'])->get();
实际的sql: select * from user where name='蚂蚁' and sex='男';
2.字符串(不限制等于操作符,可以用like,<>等操作符)
User::where('name','蚂蚁')->where('sex','<>','女')->get();
实际的sql: select * from user where name='张三' and sex <> '女'
3.闭包(这玩意谁用谁知道,反正我工作经常用到)
User::where(function($query){
})->where('address','江苏')->get();
实际的sql: select * from user where (name='张三' and sex <>'女') and address='江苏';
至于设置主键,我们默认的创建的模型都是继承Model的,默认主键都是id,你重写它的主键属性就可以了。例如
欢迎进群一起交流学习:630418030