2016-11-25 17 views
2

私のモデル上にカスタムfuctionを作成して、ユーザーが外部のapiリストに属しているかどうかを確認しています。Laravel - 文字列のメンバー関数addEagerConstraints()を呼び出す

public function mailchimp() 
    { 
     $mailchimp = new Client(['base_uri' => 'https://us14.api.mailchimp.com/3.0/']); 

     try 
     { 
      $checkEmail = $mailchimp->request('GET', 'lists/768ce70724/members/' . md5($this->email), [ 
       'headers' => [ 'Authorization' => 'apikey ' . config('globals.mailchimp_key') ] 
      ]); 
     } 

     catch(\Exception $exception) { 
      //if ($exception->getResponse()->getStatusCode() === 404) { return 'not a subscriber'; } 

      return 'error'; // where the error occurs 
     } 

     $result = json_decode($checkEmail->getBody()); 

     //return $result->status; 
     return 'success'; 
    } 

は、これは私がメソッドを呼び出す方法です:

$emails = $newsletter 
       ->with('user') 
       ->with('mailchimp') 
       ->paginate(config('globals.results_per_page')); 

return $emails; 

エラー:http://prntscr.com/dbm2ts

答えて

0

あなたはLaravelはload a relationしようとしているwith()をUSNGしています。したがって、mailchimp()はここでの関係にする必要があります。

+0

私は関係は必要ありません。各レコードのコードを実行し、返された結果を取得したいのですが、どうしたらいいですか? –

+0

@BrunoTeixeiraなぜあなたは別の配列やコレクションを構築し、 '$ emails'コレクションと結びつけるのですか?あるいは、別々に使用することもできます。 –

+0

私はデータベースから電子メールを取得していますが、電子メールが読み込まれるのと同時にこれを行う必要があります –

0

コントローラのメソッドにはアクセスできませんでしたが、正常に動作するビューからアクセスできました。

関連する問題