我有一个与表Quotes具有一对多关系的QuoteDetails表。
表结构如下所示:
return $this->quotes->with('quotedetails')
->orderBy('created_at', 'DESC')->paginate(10);
Run Code Online (Sandbox Code Playgroud)
结果是:
{
"current_page":1,
"data":[
{
"id":2,
"subject":"demo",
"quotedetails":[
{
"id":2,
"quotes_id":2,
"description":"testing data",
"total":1080
},
{
"id":3,
"quotes_id":2,
"description":"testing",
"total":180
}
]
},
{
"id":1,
"subject":"demo",
"quotedetails":[
{
"id":1,
"quotes_id":1,
"description":"data",
"total":360
}
]
}
],
"per_page":10,
"prev_page_url":null,
"to":2,
"total":2
}
Run Code Online (Sandbox Code Playgroud)
我想包括的总和quotedetails.total而不是QuoteDetails行的完整列表。我不确定该怎么做。
这是我在模型(Quotes)中的查询方式
public function quotedetails(){
return $this->hasMany('App\Models\QuotesDetail', 'quotes_id', 'id');
}
Run Code Online (Sandbox Code Playgroud)
我如何获得total总和。
这是我期望的输出
{
"current_page":1,
"data":[
{
"id":2,
"subject":"demo link data",
"quotesum": …Run Code Online (Sandbox Code Playgroud) 是否有一个简单的解决方案,可以通过模型上的hasMany Relation分离(不删除)所有相关模型?
例如,我有两个表:
大学(编号,姓名)
学生(ID,名称,college_id(可空))
在学院模型中,我定义了这种关系:
class College extends Model
{
public function students()
{
return $this->hasMany('App\Student','college_id','id');
}
}
Run Code Online (Sandbox Code Playgroud)
将当前所有大学生从学院中分离出来的最佳方法是什么(即,让该学院的所有学生都将他们的college_id设置为null)?
有没有一种简单的方法可以使所有学生脱离雄辩而脱离大学模式?
就像是
class College extends Model
{
...
public function detachAllStudents()
{
...
}
}
Run Code Online (Sandbox Code Playgroud)
PS已经读过这个问题Laravel hasMany detach,但是当我尝试将其应用于我的应用程序时出现错误
我必须做 oracle 约束来检查用户名是否最少 3 个和最多 10 个小写字母。
我用过了
constraint usernameSMALLCASE check (
REGEXP_Like(username,'^[a-z]{10}$') or
REGEXP_Like(username,'^[a-z]{9}$') or
REGEXP_Like(username,'^[a-z]{8}$') or
REGEXP_Like(username,'^[a-z]{7}$') or
REGEXP_Like(username,'^[a-z]{6}$') or
REGEXP_Like(username,'^[a-z]{5}$') or
REGEXP_Like(username,'^[a-z]{4}$') or
REGEXP_Like(username,'^[a-z]{3}$')
)
Run Code Online (Sandbox Code Playgroud)
但是,它不起作用。不知何故,放置 $ 会导致问题。但是我必须放 $ 以确保行尾字符也是小写。