我有一个user表,其中有很多user_property表,其中外来信息user_id存储在user_property表中。
现在是否可以添加约束,以便用户应该至少拥有一个用户属性?那么当用户有五个属性时,他可以一一删除,但是当只剩下一个属性时,他就不能删除了吗?我尝试过谷歌搜索,但我什至不确定搜索关键字是什么。
原因是,我想避免检查用户是否仅保留应用程序层的一个属性,因为它从副本读取,读写可能不同步,并且在某些情况下用户可能会意外删除所有属性。
任何建议或不同的方法表示赞赏。
例如,这样做:
Model::where('role', 'all')->orWhere('role','user')->first();
Run Code Online (Sandbox Code Playgroud)
始终获得角色首先为“ all”的模型,因为where()的声明早于orWhere()?
还是我不应该信任它,并且总是检查是否?
$foo = new Model;
$bar = $foo->where('role', 'all')->first();
if(empty($bar)){
$bar = $foo->where('role','user')->first();
}
Run Code Online (Sandbox Code Playgroud)
还是更好的解决方案?
我正在尝试将所有图像元素放在html页面上然后检查每个图像(如果width < height(纵向)然后旋转它).
问题是我的脚本不适用于每个图像,但对于所有图像,因为我通过"img"标签获取图像,然后我不知道如何应用单个图像的旋转.
是否可以在不必修改每个图像的标记的情况下执行此操作(我想避免为每个图像放置ID)?
<script>
$(document).ready(function() {
var imgs = document.getElementsByTagName("img");
for (var i = 0; i < imgs.length; i++) {
img = document.getElementsByTagName("img")[i];
var width = img.clientWidth;
var height = img.clientHeight;
if(width<height){
img.setAttribute('style','transform:rotate(90deg)'); //how do I apply this for each image?
}
else{
}
}
});
</script>
Run Code Online (Sandbox Code Playgroud) 假设我有三个与外键链接的数据库,即玩家,信用和照片。
player
id | name | address
credit
id | player_id | credit_status
photo
id | player_id
Run Code Online (Sandbox Code Playgroud)
假设我想获得所有具有credit_status $ status的玩家,我会这样做:
$status = 'bar';
Player::with('photo','credit')->whereHas('credit', function ($q) use ($status) {
$q->where('credit_status', $status)->with('credit_status');
})->paginate(15);
Run Code Online (Sandbox Code Playgroud)
这将列出所有具有credit_status $ credit的玩家,但仍然列出该玩家的所有积分,而不管其状态如何。
输出类似于:
{
id: 1
name: Andrew
address: home
photo: {
id: 2
photo: image1
}
credit: {
[
{
id: 6
credit_status: foo,
id: 2
credit_status: bar
}
]
}
},
{
id: 2
name: Mark
address: home
photo: {
id: 5
photo: image4
} …Run Code Online (Sandbox Code Playgroud)