public function getNinjaClient($account) { $account->load('users'); $ninjaAccount = $this->getNinjaAccount(); $client = Client::whereAccountId($ninjaAccount->id)->wherePublicId($account->id)->first(); if (!$client) { $client = new Client(); $client->public_id = $account->id; $client->user_id = $ninjaAccount->users()->first()->id; $client->currency_id = 1; foreach (['name', 'address1', 'address2', 'city', 'state', 'postal_code', 'country_id', 'work_phone', 'language_id'] as $field) { $client->{$field} = $account->{$field}; } $ninjaAccount->clients()->save($client); $contact = new Contact(); $contact->user_id = $ninjaAccount->users()->first()->id; $contact->account_id = $ninjaAccount->id; $contact->public_id = $account->id; $contact->is_primary = true; foreach (['first_name', 'last_name', 'email', 'phone'] as $field) { $contact->{$field} = $account->users()->first()->{$field}; } $client->contacts()->save($contact); } return $client; }