0

count(message) As numberコントローラー側では問題ないように見えますが、ビュー側ではエラーが発生しています:

Error rendering view: [home.index]

Undefined property: stdClass::$number

私の見方、私はそのようなコードを持っています:

foreach($sorgu as $value)
{
    case 'BUL1':
    $sorgu99[0]+=$value->number;               
    break;
}

$posts = DB::table('xxx');

$posts = DB::table('xxx')->select( array('message', DB::raw('COUNT(message) AS number'), DB::raw('xxx.Time as time')));

$posts = DB::table('xxx')->join( 'xxs', 'xxx.smsCid', '=', 'rcs.smsCid', 'INNER');

$posts = DB::table('xxx')->where('xxs.status','=','1');

$posts = DB::table('xxx')->where( 'xxx.Time' ,'>', '2012-12-26');

$posts = DB::table('xxx')->where(DB::raw('length(message)'), '>', '3');

$posts = DB::table('xxx')->group_by('message');

$posts = DB::table('xxx')->get();
4

1 に答える 1

2

DB::table() を呼び出すたびに新しいクエリを作成するため、上記のコードの各行は新しいクエリを作成し、最終的には xxx テーブルからすべての投稿を取得するだけです。代わりにこれを試してください:

$query = DB::table('xxx');
$query->select( array('message', DB::raw('COUNT(message) AS number'), DB::raw('xxx.Time as time')));
$query->join( 'xxs', 'xxx.smsCid', '=', 'rcs.smsCid', 'INNER');
$query->where('xxs.status','=','1');
$query->where( 'xxx.Time' ,'>', '2012-12-26');
$query->where(DB::raw('length(message)'), '>', '3');
$query->group_by('message');
$posts = $query->get();

データベース クエリは、メソッド チェーンを使用します。メソッド チェーンについて詳しく知りたい場合は、ShawnMcCool が良い記事を書いています: http://heybigname.com/2012/10/03/php-method-chaining/

于 2013-04-01T10:21:08.607 に答える