通過構建股票投資組合應用程序學習Laravel。爲用戶,賬戶,股票,期權和交易提供模型。我相信我有正確的關係。Laravel 5.1查詢關係
問題是我如何獲得用戶 - >帳戶 - >交易。我確信我可以在查詢構建器中做一些事情,但我希望能有更多的「雄辯」方法。
用戶
public function accounts()
{
return $this->hasMany('App\Account');
}
public function stocks()
{
return $this->belongsToMany('App\Stock');
}
public function options()
{
return $this->belongsToMany('App\Option');
}
public function transactions()
{
return $this->hasMany('App\Transaction');
}
帳戶
class Account extends Model
{
protected $fillable =
[
'name',
'broker'
];
public function user()
{
return $this->belongsTo('App\User');
}
public function stocks()
{
return $this->belongsToMany('App\Stock');
}
public function options()
{
return $this->belongsToMany('App\Option');
}
public function transactions()
{
return $this->hasMany('App\Transaction');
}
交易
class Transaction extends Model
{
protected $fillable =
[
'type',
'account_id',
'transaction_date',
'quantity',
'stock_id',
'option_id',
'amount',
'description'
];
public function user()
{
return $this->belongsTo('App\User');
}
public function stock()
{
return $this->belongsTo('App\Stock');
}
public function option()
{
return $this->belongsTo('App\Option');
}
public function account()
{
return $this->belongsTo('App\Account');
}
public function accounts()
{
return $this->hasManyThrough('App\Account', 'App\User');
}
}
最後,我想我要尋找每個總額帳戶的用戶可以擁有。 (用戶可以有很多賬戶,每個賬戶都有很多交易,股票和期權。)
感謝您的幫助,或者至少讓我知道我是否會走向正確的道路!
好像查詢生成器的方法是要走的路。否則,您將最終將每個「Transaction」對象加載到內存中,而您真正需要的只是每個帳戶的總值。 – alexw
我有點害怕。這個想法是讓一個頁面列出所有用戶單獨的賬戶和一個餘額,然後點擊賬戶打開列出所有交易的頁面。同一個特定的股票。您可以看到一個用戶的股票總量,然後按賬戶分割,然後在每個個人賬戶中分離涉及該股票的交易清單。 – BrioDev