Query optimisations using with()
This commit is contained in:
26
app/User.php
26
app/User.php
@@ -19,6 +19,14 @@ class User extends Authenticatable
|
||||
{
|
||||
use HasApiTokens,Notifiable,UserSwitch,HasQuickBooksToken;
|
||||
|
||||
protected $appends = [
|
||||
'active_display',
|
||||
'services_count_html',
|
||||
'surfirstname',
|
||||
'switch_url',
|
||||
'user_id_url',
|
||||
];
|
||||
|
||||
protected $dates = [
|
||||
'created_at',
|
||||
'updated_at',
|
||||
@@ -44,14 +52,6 @@ class User extends Authenticatable
|
||||
'remember_token',
|
||||
];
|
||||
|
||||
protected $appends = [
|
||||
'active_display',
|
||||
'services_count_html',
|
||||
'surfirstname',
|
||||
'switch_url',
|
||||
'user_id_url',
|
||||
];
|
||||
|
||||
protected $visible = [
|
||||
'active_display',
|
||||
'id',
|
||||
@@ -62,6 +62,8 @@ class User extends Authenticatable
|
||||
'user_id_url',
|
||||
];
|
||||
|
||||
protected $with = ['accounts'];
|
||||
|
||||
/**
|
||||
* The accounts that this user manages
|
||||
*
|
||||
@@ -129,8 +131,7 @@ class User extends Authenticatable
|
||||
*/
|
||||
public function services()
|
||||
{
|
||||
return $this->hasManyThrough(Models\Service::class,Models\Account::class)
|
||||
->with(['account','product','invoices.items.tax','type']);
|
||||
return $this->hasManyThrough(Models\Service::class,Models\Account::class);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -359,7 +360,6 @@ class User extends Authenticatable
|
||||
{
|
||||
$result = new DatabaseCollection();
|
||||
$clients = $this->all_clients();
|
||||
$clients->load('accounts');
|
||||
|
||||
foreach ($clients->pluck('accounts') as $accounts) {
|
||||
foreach ($accounts as $o) {
|
||||
@@ -480,10 +480,6 @@ class User extends Authenticatable
|
||||
public function next_invoice_items(bool $future=FALSE): DatabaseCollection
|
||||
{
|
||||
$result = new DatabaseCollection;
|
||||
$this->load([
|
||||
'services.charges',
|
||||
'services.invoice_items'
|
||||
]);
|
||||
|
||||
foreach ($this->services as $o) {
|
||||
if ($future) {
|
||||
|
Reference in New Issue
Block a user