Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/260.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Laravel对关系的雄辩复杂查询2_Php_Laravel_Eloquent - Fatal编程技术网

Php Laravel对关系的雄辩复杂查询2

Php Laravel对关系的雄辩复杂查询2,php,laravel,eloquent,Php,Laravel,Eloquent,桌子 模型 Business id name Portfolio id image description business_id 现在我想知道,如果我有一个投资组合id,那么是否有可能获得属于同一业务id的所有投资组合。既然你有投资组合id,你首先找到投资组合,然后获得该投资组合的业务,然后获得该业务的所有投资组合: class Business extends \Eloquent { public function portfo

桌子


模型

Business
    id
    name

Portfolio
    id
    image
    description
    business_id

现在我想知道,如果我有一个投资组合id,那么是否有可能获得属于同一业务id的所有投资组合。

既然你有投资组合id,你首先找到投资组合,然后获得该投资组合的业务,然后获得该业务的所有投资组合:

class Business extends \Eloquent 
{
    public function portfolio()
    {
        return $this->hasMany('Portfolio');
    }
}


class Portfolio extends \Eloquent {

   public function business()
   {
       return $this->belongsTo('Business');
   }
}
或者,对于单衬里:

$portfolio = Portfolio::find($id);
$business = $portfolio->business;
$portfolios = $business->portfolio;

Portfolio::find($id)->business()->Portfolio
-注意,您应该在Portfolio后面加一个s,因为一个企业可以有很多。未定义的属性:illumb\\Database\\elount\\Relations\\BelongsTo::$Portfolio”,“file:“C:\\xampp\\htdocs\\iclubz\\app\\controllers\\PortfoliosController.php”,“line”字体54这个happand@JoelHinz您不小心引用了业务关系查询而不是检索到的对象@moinkhan这就是你收到错误的原因。正确的用法是访问对象:
Portfolio::find($id)->business->Portfolio
。谢谢@JoelHinz我的问题解决了now@patricus:哦,当然。非常感谢。
$portfolios = Portfolio::find($id)->business->portfolio;