2016-09-10 12 views
0

私はlaravel 5.3で作業しています。クエリを実行する問題があります。groupbyクエリを実行しようとしていますが、定義されていないメソッドIlluminate \ Database \ Query \ Builder :: only_full_group_by()を呼び出すのと同じように動作していません。私のコードのような未定義のメソッドを呼び出すデータベースクエリビルダー:: only_full_group_by()

public function showcart() 
{ 

     $cart = DB::table('cartshow')->only_full_group_by('pro_id')->get(); die(); 

     $i = 1; 
     foreach($cart as $tt) 
     { 

      $count = DB::table('cartlist')->where('pro_id',$tt->pro_id)->sum('qnty'); 

      $sel_pro= DB::table('product') -> where('id',$tt->pro_id)->first(); 

      $proname = $sel_pro->name; 
      $price = ($sel_pro->price) * $count; 

     echo $cartdata ="<tr> 
           <td>$proname<br><small>Swaminarayan, Extra Hot, Cheese</small></td> 
           <td style='vertical-align:middle'> 
           <input type='button' value='-' onclick='qtyminus($tt->pro_id);' class='qtyminus' field='quantity' /> 
           <input type='text' name='quantity' value='$count' class='qty' id='txt$tt->pro_id'/> 
           <input type='button' value='+' onclick='qtyplus($tt->pro_id);' class='qtyplus' field='quantity' /> 
           </td> 
           <td class='text-right' style='vertical-align:middle'><button data-id ='$tt->pro_id' type='button' class='btn btn-xs btn-info'><i class='fa fa-remove'></i></button></td> 
          </tr>"; 

    } 

} 
+1

だが、私は何かが足りないのですか?あなたのメソッドへの参照を投稿できますか? – jaysingkar

+0

http://dev.mysql.com/doc/refman/5.7/en/sql-mode.html#sqlmode_only_full_group_by – solanki

+0

このような方法は使用できません。 Laravel QueryBuilderにはそのメソッドが定義されていません。あなたのリンクが** version 5.7 **の 'only_full_group_by'を指しているのはデフォルトです。したがって、代わりに 'groupBy()'を使用してください。 – jaysingkar

答えて

0

only_full_group_byは、MySQLモードの1つです。 QueryBuilderonly_full_group_byメソッドを呼び出すことはできません。QueryBuilderにはonly_full_group_byメソッドが定義されていません。
Ya use グループ in Laravel use groupBy()メソッド。

$cart = DB::table('cartshow')->groupBy('pro_id')->get(); 

コメントにあなたがMySQL link of version 5.7only_full_group_byを提供している、ので、デフォルトのモードです。

あなたはMySQLのモードを操作したい場合は、ここで私はLaravelに任意の `only_full_group_by`方法を見つけることができないんだけどreference

+0

もし私がgroupbyを使用しているのであれば... errors ...QLSTATE [42000]:構文エラーまたはアクセス違反:1055 SELECTリストの式#1がGROUP BY節になく、非集約列 'hotel.cartshow.id'を含んでいます機能的にはGROUP BY句の列に依存します。これはsql_mode = only_full_group_byと互換性がありません(SQL: 'pro_id'によって' cartshow'グループからselect) – solanki

+0

@vjBDT 'config/databaseで' strict '=> false、 'を使用して接続の厳密モードを無効にします。 php' – jaysingkar

+0

助けてくれてありがとう。 – solanki

関連する問題