我有一个控制器,它有一个像这样的查询:
$post = Post::find($id);
$comments = $post->comments;
Run Code Online (Sandbox Code Playgroud)
帖子有很多评论,评论属于一个帖子.评论模型有id,comment,tag字段.
我想要做的是,对于任何查询,例如这个,模型返回字段id,comment,tag和tag_translated,其中后者只是使用Lang facade的标签转换.
我可以通过在控制器上使用for来解决这个问题,该控制器遍历$ comments并添加字段,但是我必须为需要tag_translared字段的每个控制器执行此操作.有没有办法要求模型包含这样的字段?
我在尝试捕获 Python 异常时遇到问题:
文件“/usr/lib/python2.7/dist-packages/numpy/lib/nanfunctions.py”,第427行,在nanargmax raise ValueError("All-NaN slice遇到") ValueError: All-NaN slice遇到
当切片有效包含 All-NaN 时,此代码会出现错误。但是,我想抓住这种情况并处理它。
with warnings.catch_warnings():
warnings.filterwarnings('error')
try:
action = np.nanargmax(self.Q[state])
except Warning as e:
print "error"
sys.exit(0)
Run Code Online (Sandbox Code Playgroud)
我希望打印单词 error,但是,try-except 语句被忽略。请问有什么帮助吗?
我尝试使用whereHas和 eloquent进行查询。查询是这样的:
$projects = Project::whereHas('investments', function($q) {
$q->where('status','=','paid');
})
->with('investments')
->get();
Run Code Online (Sandbox Code Playgroud)
我使用 Laravel 5.2 并使用 Postgres 驱动程序。
项目模型为:
public function investments()
{
return $this->hasMany('App\Investment');
}
Run Code Online (Sandbox Code Playgroud)
投资模式有:
public function project() {
return $this->belongsTo('App\Project');
}
Run Code Online (Sandbox Code Playgroud)
项目表有字段 id、字段...
投资表包含字段 id、project_id、status、created_at
我的问题是,查询运行并返回至少有一项投资的项目集合,但是whereHas内的where子句被忽略,因为生成的集合包含状态值不同于paid 的投资。
有人知道发生了什么事吗?