2016-12-12 14 views
-1

私は自分のコーディングをしようとしていますが、私はこの問題に遭遇しました。つまり、私は最初のコードのようにまったく同じでしたが、そこで働いています。 CoinflipController.php線115でLaravel引数1を渡した

ErrorException:引数1のApp \のHttp \コントローラへ を渡さ\ CoinflipControllerは:: CoinflipToJson()ゲーム\ Coinflip \ Coinflip、 のインスタンス\アプリケーション\モデルの インスタンスでなければなりません Cで呼ばれ、与えられた\データベース\雄弁\コレクションを照らす:\ xamppの\ htdocsに\サイト\アプリ\のHttp \コントローラ ライン104上CoinflipController.phpを\とCoinflipが

ファイル

を定義しあなたは3210

CoinflipToJson機能(1行目からエラーである)

public function CoinflipToJson(Coinflip $coinflip, $showExtra = false){ 
     $canDeposit1 = $coinflip->value * 0.10 + $coinflip->value; 
     $canDeposit2 = $coinflip->value - $coinflip->value * 0.10; 
     $data = [ 
      'id' => $coinflip->id, 
      'hash' => $coinflip->hash, 
      'gameValue' => $coinflip->value, 
      'canDeposit1' => $canDeposit1, 
      'canDeposit2' => $canDeposit2, 
      'skinValue' => 0, 
      'skinCount' => 0, 
      'timeStart' => $coinflip->created_at->getTimestamp(), 
      'timeEnd' => $coinflip->draw_at ? $jackpot->draw_at->getTimestamp() : 0, 
      'timeEndIn' => $coinflip->draw_at ? $jackpot->draw_at->getTimestamp() - time() : -1, 
      'timeMax' => Setting::of('JackpotExtendTime', 15)->getValue(), 
      'entry' => [] 
     ]; 

     if ($showExtra){ 
      $data['winningPercentage'] = $coinflip->ticket; 
      $data['winnerId'] = $coinflip->winner_steam_id; 
      $data['secret'] = $coinflip->seed; 
     } 

     foreach($coinflip->entry as $entry){ 
      $entryData = $this->entryToJson($entry); 
      $data['entry'][] = $entryData; 
      $data['skinValue'] += $entryData['skinValue']; 
      $data['skinCount'] += $entryData['skinCount']; 
     } 
     return $data; 
    } 

私はそれを呼び出していますコード(5行目)

public function current(Request $request){ 
    $coinflip = $this->getCurrentGame(); 
    if($coinflip){ 
     $data = [ 
      'current' => $this->CoinflipToJson($coinflip) 
     ]; 
     return response()->json($data); 
    } else return response()->json(['error' => 'No Games']); 
} 

getCurrentゲーム機能

public function getCurrentGame(){ 
    $coinflip = Coinflip::where('status', Coinflip::STATUS_ACTIVE)->get(); 
    return $coinflip; 
} 
+0

もう少し具体的なコードを入力すると、推測以外のものを作るのが簡単になります – RiggsFolly

+0

[私には何の話がありますか](http://stackoverflow.com/help/on-topic)をお読みください。 [よくある質問](http://stackoverflow.com/help/how-to-ask) [完璧な質問](http://codeblog.jonskeet.uk/2010/08/29 /完全な質問を書いてください/) [最小限の、完全で検証可能な例](http://stackoverflow.com/help/mcve)を作成する方法 – RiggsFolly

+0

こんにちは、私はそれを残念です。私はペーストビンのリンクを追加します。 –

答えて

0

getCurrentGame()メソッドの場合、get()メソッドは常にCollectionを返します。レコードは1つしかありませんでした。クエリでレコードが1つしか返されない場合は、get()first()に変更して、Collectionの代わりにレコードインスタンスを返します。

+0

少し質問ですが、get()を使用できない場合、どのようにしてテーブルからすべての値を取得できますか? –

+0

@AndremarGrim 'get()'はテーブルからすべての値を返します。あなたの現在のコードの問題は、 'CoinflipToJson()'が 'CoinFlip'インスタンスを期待していて、' getCurrentGame() 'から返されているものであるため、コインフリップの 'Collection'を渡そうとしています。 'メソッド。 – patricus

+0

ええと、私はそれをCollectionと連携させるために変更する必要がありますか? –

関連する問題