Получить значения из массива PHP и показать их - PullRequest
2 голосов
/ 16 января 2020

Я делаю крошку с именем FUND, где я могу хранить множество вещей вместе с массивом, используя метод PHP implode . В этом массиве я храню некоторый идентификатор фонда. Вот массив Создать код:

<div class="custom-checkbox">
  <label for="receive[]">Select Receive Funds</label>
    @foreach($funds as $fund)
     <div class="custom-control custom-checkbox">
       <input class="custom-control-input" type="checkbox" name="receive[]" id="{{$fund->id}}" value="{{$fund->id}}">
        <label for="{{$fund->id}}"  class="custom-control-label">{{$fund->title}}</label>
     </div>
   @endforeach

Вот код магазина:

public function store(Request $request)
{
    $request->validate([
        'title'=>'required',
        'image'=>'required',
        'description',
        'available'=>'required',
        'buy'=>'required',
        'account',
        'receive',
    ]);
    $image = $request->file('image');
    $new_name = rand() . '.' . $image->getClientOriginalExtension();
    $image->move(public_path('funds'), $new_name);
    $form_data = array(
        'title'=>$request->title,
        'image'=>$new_name,
        'description'=>$request->description,
        'available'=>$request->available,
        'buy'=>$request->buy,
        'buyrate'=>$request->buyrate,
        'sellrate'=>$request->sellrate,
        'account'=>$request->account,
        'receive'=>implode(',', (array)($request->receive)),
    );

    Fund::create($form_data);

    return redirect('/admin/fund');
}

Я показываю этот массив на моей странице индекса, используя PHP метод взрыва .

$receive=[];
foreach($funds as $fund){
    $receive = explode(",",$fund->receive);
}

Как я уже говорил, я храню идентификатор фонда в этом массиве. Итак, я хочу показать всю строку, используя идентификатор фонда. Для этого я использую запрос по следующему адресу:

@foreach($receive as $r)
  <a href="/multi" class="list-group-item">
    <p>
      <img src="{{$fund=\App\Fund::where(['id'=>$r])->get('image')}}" width="32px" height="32px"> {{$fund=\App\Fund::where(['id'=>$r])->get('title')}}
        <span class="pull-right text text-muted hidden-xs hidden-sm" style="font-size:11px;">
          <small>Reserve: {{$fund=\App\Fund::where(['id'=>$r])->get('available')}}<br>Exchange rate: {{$fund=\App\Fund::where(['id'=>$r])->get('buyrate')}}</small>
        </span>
    </p>
  </a>

@ endforeach

Но изображение заголовка показывается вот так Frontend View

Как я могу просто получить заголовок, изображение и другой персонал без скобок?

Ответы [ 2 ]

3 голосов
/ 18 января 2020

После нескольких исследований я исправил это. Вот ответ:

@php $receives = \App\Fund::whereIn('id', $receive)->get(); @endphp
   @foreach($receives as $r)
       <a href="/multi" class="list-group-item">
           <p>
              <img src="{{ $r->image_url  }}" width="32px" height="32px"> {{ $r->title  }}
                <span class="pull-right text text-muted hidden-xs hidden-sm" style="font-size:11px;">
                    <small>Reserve: {{ $r->available }}<br>Exchange rate: {{ $r->buyrate }}</small>
                 </span>
            </p>
         </a>
   @endforeach
1 голос
/ 17 января 2020

Вместо скобок попробуйте использовать теги Как я делаю в следующем примере;

<img src="<?=$fund=\App\Fund::where(['id'=>$r])->get('image')?>"...

Если маршрут к изображению хорош, он должен работать. Если после этого у вас возникнут другие проблемы, сообщите мне:)

...