Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 03.12.2013 13:13:03

[L4] Fluent запрос

Добры день форумчане
Ситуация следующая

Требуеться перенести php запрос к бд
Вот запрос

$result 	= db_query("SELECT orders.id, clients.phone, orders.createtime, client_adres.adres, client_adres.adres2, client_adres.comm, orders.parkid, orders.distance, orders.cost FROM  `clients`, `orders`, `client_adres` WHERE orders.status=0 AND clients.id=orders.clientid AND orders.adresid=client_adres.id ORDER BY orders.id DESC");
$orders_radio 	= db_fetch($result);

правильно ли я сотсавляю запрос во fluent?

 $Parkings = DB::table('clients')
            ->join('orders','orders.clientid','=','clients.id')
            ->join('client_adres','client_adres.id','=','orders.adresid')
            ->select('orders.id', 'clients.phone', 'orders.createtime', 'client_adres.adres', 'client_adres.adres2', 'client_adres.comm', 'orders.parkid', 'orders.distance', 'orders.cost')
            ->where('orders.status','=',0)
            ->orderBy('orders.id', 'DESC')
            ->get();

Но у меня на странице parking почемуто пустая белая страница(хотя задан шаблон!), хотя если делать запрос в MySQL, то выдает таблицу с данными ,почему?

@section('content')

@if ($parkings->count())
<table class="table table-striped table-bordered">
    <thead>
    <tr>
        <th>ID</th>
        <th>Телефон</th>
        <th>Дата создания</th>
        <th>Адрес</th>

    </tr>
    </thead>

    <tbody>
    @foreach ($parkings as $parking)
    <tr>
        <td>{{{ $parking->id }}}</td>
        <td>{{{ $parking->phone }}}</td>
        <td>{{{ $parking->createtime }}}</td>
        <td>{{{ $parking->adres }}}</td>

    </tr>
    @endforeach
    </tbody>
</table>
@else

@endif

@stop

Не в сети

#2 03.12.2013 13:38:10

Re: [L4] Fluent запрос

Код выглядит правильно. Что показывает профайлер, какой в итоге выполняется SQL? Что показывает PHPdd($parkings->get());?

Не в сети

#3 03.12.2013 14:22:49

Re: [L4] Fluent запрос

Profiler показывает что данные из бд получаю

array(20) { [0]=> object(stdClass)#1126 (9) { ["id"]=> string(3) "108" ["phone"]=> string(10) "0506944344" ["createtime"]=> string(19) "2013-11-13 11:07:58" ["adres"]=> string(35) "аПб€аОбаПаЕаКб‚ а›аЕаНаИаНаА, 25" ["adres2"]=> string(0) "" ["comm"]=> string(0) "" ["parkid"]=> string(1) "0" ["distance"]=> string(1) "0" ["cost"]=> string(1) "0" } [1]=> object(stdClass)#1127 (9) { ["id"]=> string(3) "105" ["phone"]=> string(10) "0506944344" ["createtime"]=> string(19) "2013-11-13 10:52:07" ["adres"]=> string(35) "аПб€аОбаПаЕаКб‚ а›аЕаНаИаНаА, 25" ["adres2"]=> string(0) "" ["comm"]=> string(0) "" ["parkid"]=> string(1) "0" ["distance"]=> string(1) "0" ["cost"]=> string(1) "0" } [2]=> object(stdClass)#1128 (9) { ["id"]=> string(3) "104" ["phone"]=> string(10) "0506944344" ["createtime"]=> string(19) "2013-11-13 10:48:31" ["adres"]=> string(35) "аПб€аОбаПаЕаКб‚ а›а 

.....

Но почему не выводятся они загадка
dd($parkings->get());  - пустая страница( также шаблоны не загружает)

Не в сети

#4 03.12.2013 14:50:47

Re: [L4] Fluent запрос

Fluent запрос корректен, у меня какимто боком пустая страница, не понятно почему

Не в сети

#5 03.12.2013 16:02:36

Re: [L4] Fluent запрос

  1. Fluent запрос корректен, у меня какимто боком пустая страница, не понятно почему

Очень даже понятно ☺ Думаю, если заглянешь в лог увидишь там PHP Error: Call to a member function count() on a non-object или что-то подобное.

PHP
 $Parkings DB::table('clients')
...
            ->
get();
  1. $parkings — у тебя в коде она с большой буквы, имеем неопределённую переменную в шаблоне → Creating default object from empty value
  2. $parkings — массив, а не Fluent из-за get(). В шаблоне ты вызываешь count() на массиве.

Не в сети

#6 03.12.2013 16:10:52

Re: [L4] Fluent запрос

Спасибо
Методом научного тыка сам дошел, но всеравно за ответ спасибо!))

Не в сети

Подвал раздела