2017-02-05 3 views
0

Я получаю результат, как следует из модели с одной ко-многимLaravel переборе результата от красноречивой модели в лезвии

{ 
    "id":1, 
    "name":"asdjash", 
    "position":"jhkjh", 
    "about":"hkjhkj", 
    "message":"hkjhkj", 
    "image":"demo.jpg", 
    "status":"Active", 
    "created_at":"2017-02-07 00:00:00", 
    "updated_at":"2017-02-09 00:00:00", 
    "personality_slider_images":[ 
     { 
     "id":1, 
     "image_name":"one.jpg", 
     "personality_id":"1", 
     "created_at":"2017-02-09 00:00:00", 
     "updated_at":"2017-02-11 00:00:00" 
     }, 
     { 
     "id":2, 
     "image_name":"two.jpg", 
     "personality_id":"1", 
     "created_at":"2017-02-10 00:00:00", 
     "updated_at":"2017-02-26 00:00:00" 
     } 
    ] 
} 

Я хочу, чтобы отобразить на странице всех деталей

, как следовать

<div class="well"> 
     <p><h4>Name : </h4> 
     {{ $personality->name }} 
     </p> 
     <p><h4>Position : </h4> 
     {{ $personality->position }} 
     </p> 
     <p><h4>About : </h4> 
     {{ $personality->about }} 
     </p> 
     <p><h4>Image : </h4> 
     <img src="{{ URL::to('/contents/personality/' . $personality->image) }}" alt="{{ $personality->image }}" width="150" height="180" style="display: block; ">      
     </p> 
     <p><h4>Message : </h4> 
     {{ $personality->message }} 
     </p> 
     <p><h4>SliderImage : </h4> 
     {{ $personality }} 

     </p> 
     <p><h4>Status : </h4> 
     {{ $personality->status }} 
     </p> 
</div> 

Я попробовал этот

@foreach($personality->personality_slider_images as $p) 
    {{ $p->image_name }} 
@endforeach 

Но это дает ошибку, как следовать

Недействительного аргумента для Еогеаспа()

Может кто-нибудь, пожалуйста, помогите мне решить эту проблему?

+0

Можете ли вы показать, как вы получили '$ личность' и отношения в модели? foreach требует, чтобы аргумент был массивом или коллекцией. убедитесь, что '$ personal-> character_slider_images' дает массив или коллекцию. –

ответ

0

Я вижу, у вас есть JSon массива,

  1. Decode это с помощью json_decode

    $decode = json_decode($encode);

  2. Теперь пройти свой цикл, как,

    @foreach ($ personality-> personality_slider_images как $ р)

    {{$ p-> имя_образа}}

    @endforeach

Будет работать.

Дайте ему попробовать.

+0

спасибо. оно работает.нужно предположение: «Должен ли я должным образом форматировать результат, возвращенный из модели, как в полностью массиве или JSON, если да, то как я должен подходить к нему». thanks – user2536760

+0

Сначала вы с нетерпением ждёте. А во-вторых, если вам нужен чистый массив, тогда json_decode ($ your_arr, true); здесь true возвращает ассоциативный массив, но, как сказано, все сделано по какой-то причине, вы видите свое требование и используете эту функцию по своему усмотрению. означает, что вы можете сделать это в любом случае. – rahulsm

-2

Вы должны добавить a для каждого для вашего фактического массива, а не для переменной в этом массиве.

Предполагая, что ваше имя массива - это $ персоналии, оно должно выглядеть так.

@foreach ($personalities as $personality) 
Insert the HTML from your sample above in here. 
@endforeach 

Чтобы получить изображение объект вы должны сделать что-то вроде следующего

$personality->personality_slider_name['image_name] 
+0

Op опубликовал возвращенные данные. Личность - это не массив. Таким образом, наличие foreach on $ personal не решает проблему –

+0

@VinitSarvade действительно решает проблему, потому что этот человек пытается пропустить объект, сидящий внутри массива, который не будет работать, если этот объект не был также массивом со многими объектами в котором отсутствует личность_slider_images. Я только что показал им, как правильно прокручивать объект, а затем дополнительно извлекать переменные из identity_slider_images. – Dom

+0

Но я не вижу, где $ character находится внутри массива. Вы можете ясно видеть, что личность - это объект и массив. В то время как значение для личности_slider_images является массивом. –

 Смежные вопросы

  • Нет связанных вопросов^_^