雄辩的laravel - >渴望加载

时间:2017-12-28 20:30:39

标签: php laravel slim laravel-eloquent

我有下一个结构:

模型调用内容

public function credits(){

    return $this->belongsToMany('App\models\Credit');
}

模型调用信用

 public function content()
{
    return $this->belongsToMany('App\models\Content');
}

我要做的是提取一个内容的所有信用,但只选择我想要的列,使用以下代码:

$credits2=$this->content::with(array('credits'=>function($query){
        $query->select('id','department','job');
 }))->where('id',$id_content)->get();

我遇到的问题是,当我执行所有代码时,结果是:

[]

但如果我在mysql中进行正常查询,我可以发现电影中存在信用。

我从其他论坛和stackoverflow post中提取了这段代码。

2 个答案:

答案 0 :(得分:0)

还有另一种简单的方法可以在不使用闭包的情况下指定列:

{
    "metadata.text": {
        "$regex": "/world/"
    }
}

答案 1 :(得分:0)

问题是$ id_content是前一个查询的结果,所以如果我把$ id_content放不起来,为此我必须访问该列。

解决方案是:

$credits2=$this->content::with(array('credits'=>function($query){
    $query->select('id','department','job');
 }))->where('id',$id_content)->get();
相关问题