2016-07-24 3 views
0

У меня есть объект, так что я хочу знать, как можно получить данные из примера object.Object приводятся нижеКак получить данные из объекта в PHP

return $response= PowerConsumption::groupBY('device_id') 
      ->selectRaw('round(sum(unit),4) as yAxis,device_id') 
      ->where('created_at',Carbon::now())->paginate(1); 

Так что этот красноречивый запрос создать вышеуказанные данные, но мне нужно current_page и, пожалуйста, не изменяйте мой запрос. Помогите мне выяснить значение current_page из этого ответа.

{ 
total: 2, 
per_page: 1, 
current_page: 1, 
last_page: 2, 
next_page_url: "http://localhost:8000/graph/monthly/user_id/2?page=2", 
prev_page_url: null, 
from: 1, 
to: 1, 
data: [ 
{ 
yAxis: 222.8572, 
device_id: 1 
} 
] 
} 

Эти данные хранятся в переменной $ response, и мне нужна только текущая страница и last_page, и как я могу ее получить. я пытаюсь это как

$response['current_page']; //it's return null 
$response->current_page; //it's return error like 
Undefined property: Illuminate\Pagination\LengthAwarePaginator::$current_page 

, пожалуйста, помогите мне в получении данных

+0

Ваш '$ response' - это не то, что вы думаете. Это ['LengthAwarePaginator'] (https://laravel.com/api/5.0/Illuminate/Pagination/LengthAwarePaginator.html). Может быть, это _ объект ответа? – Chris

+0

вы можете показать 'var_dump ($ response);'? – RomanPerekhrest

+0

$ resonse-> current_page; <==== Вы отсутствующий символ [p] –

ответ

0

Просто используйте PHP обозначение объекта-доступ, чтобы получить какие-либо данные, которые вы хотите от вашего объекта, как показано ниже ... однако, отмечает, что у вас есть Typo в вашем коде $response->current_page не $resonse->current_page; как @ Quỳnh Nguyễn в своем комментарии выше.

<?php 

    /* 
    YOUR $response, AS A PHP OBJECT, COULD BE REPRESENTED WITH THE OBJECT VARIABLE; $response BELOW 
    { 
    total: 2, 
    per_page: 1, 
    current_page: 1, 
    last_page: 2, 
    next_page_url: "http://localhost:8000/user/user_id/2?page=2", 
    prev_page_url: null, 
    from: 1, 
    to: 1, 
    } 
    */ 

    $response     = new stdClass(); 
    $response->total   = 2; 
    $response->per_page  = 1; 
    $response->current_page = 1; 
    $response->last_page  = 2; 
    $response->next_page_url = "http://localhost:8000/user/user_id/2?page=2"; 
    $response->next_page_url = null; 
    $response->from   = 1; 
    $response->to    = 1; 

    // NOW TO GET THE current_page, you could do: 
    $response->current_page; 
Вполне вероятно, что вы используете Laravel ... если да, то это то, что ваш контроллер может выглядеть следующим образом:
<?php 

    namespace App\Http\Controllers; 

    use Illuminate\Http\Request; 

    use App\Http\Requests; 

    class PowerController extends Controller{ 

     public function power(){ 
      $response = PowerConsumption::groupBY('device_id') 
             ->selectRaw('round(sum(unit),4) as yAxis,device_id') 
             ->where('created_at',Carbon::now())->paginate(1); 
      // YOU SHOULD RETURN VIEW INSIDE YOUR METHOD 
      // AND PASS THE $response AS ARGUMENT... 

      return view('your_view_name', compact($response));    
     } 
    } 
Сейчас в вашей точки зрения; вы должны иметь доступ к своим данным так же, как любая нормальная заявленная переменная:
//your_view_name.blade.php 
{{ $current_page }} 
{{ $next_page_url }} 
{{ $prev_page_url }} 
{{ $total }} 
+0

, вы не выполнили свой ответ. –

+0

@MarkoMackic Извините ... случайно удалил его перед публикацией ... пришлось повторить его снова :-( – Poiz

+0

Я новичок в php, поэтому помогите мне с примером .. – User101