2016-11-23 6 views
0

動作しませんか?今はオブジェクト全体を印刷しています。 Print_rはタイムスタンプの代わりにオブジェクト全体を印刷しています。私は連想配列で本当に悪いです。メソッド配列を返し、選択クエリは

+1

あなたはその最初の方法をどこで呼びますか?コントローラメソッドではなくモデルを呼び出すだけです。 – lagbox

+2

あなたが良い答えを受け取りたいのであれば、あなたが扱っている問題についてもっと正確にする必要があります。ところで、あなたは他のコントローラからコントローラメソッドを呼び出さない。あなたがそうするような衝動を感じたら、それはあなたのコードのにおいです。 2つのコントローラが共通して何かを行う必要がある場合、その共通のタスクを別のコントローラ以外のクラスに抽出する必要があります。コントローラーは単なるトランスポートレイヤーであることを忘れないでください – sepehr

+0

@ SepehrLajevardi:そうです。 '急いで西になる'。私のモデルはデータベース、値、タイムスタンプから配列を返します。私は、データベース内のタイムスタンプの列を反復し、すべてのタイムスタンプを抽出したい。私のコントローラでは、コントローラのforeachループを使用してすべての通知を行い、タイムスタンプのみを収集するようにこのクエリを書きました。::: $ note-> status( 'health') - > select( 'created_at') - > latest() - > first() –

答えて

0

これは問題を理解するために必要なすべてのコードですか?エラーメッセージは、アレイ上get()を呼び出していると言うので、私は、ここで聞いてるのよ、まだあなたが提供されているコードでget()の唯一の2つの用途は

$notification = Notification::where('active',1)->get(); 

(クエリビルダに呼び出さ - >有効)です

$response = $client->get($note->website_url); 

私はIlluminate\Database\Eloquent\Modelget()方法を見つけることができませんでしたが、多分あなたは1を書いたか、私は何かが欠けています。どちらの場合も、$clientは配列ではないため、その行はエラーの原因となることはありません。だから私はあなたが私たちにまだ見せなかったコードの一部にエラーがあると思います。

私の目を引いた一つの他の事があります:あなたのstatus($s_type)方法では、右の初めに、あなたは

if (!in_array($s_type, ['speed', 'health'])){ 
    return false; 
} 

を言っている、あなたが

$check_frequency = $note->status('timestamp'); 

と、後でそのメソッドを呼び出すので、これは常にfalseになります。

+0

あなたは本当に正しいです –

+0

私は連想配列に私のアプローチを変更しました。ここで私は連想配列ではうまくいきません。私は今何をしているのか編集します。 –

関連する問題