Laravel为foreach()提供的无效参数获取单个列

时间:2018-09-21 12:14:38

标签: laravel foreach

有人可以帮忙吗?我正在尝试将一些数据从“控制器”页面传递到索引,但出现此错误“为foreach()提供了无效的参数”

这是我的模特

class Bookings extends Model
{
    //Table name
  protected $table = 'bookings';
  //Primary key
  public $primaryKey = 'book_id';
}

我的控制器

use Illuminate\Http\Request;
use App\Bookings;

class PagesController extends Controller
{
    public function index(){

      $data = Bookings::orderBy('NameENG', 'DetailsENG')->get();
      $data = Bookings::all();
      $marks = 'NameENG';
      $briefs = 'DetailsENG';
      return view('pages/index', compact(['data', 'marks', 'briefs']));
    }
}

和部分索引

<div class = "container">
      @if(count($data) > 0)
        @foreach($marks as $mark)
          @foreach($briefs as $brief)
            <div class="row">
              <div class="col-md-4">
                <div class="card mb-4 shadow-sm">
                  <img class="card-img-top" alt="Thumbnail [100%x225]" style="height: 225px; width: 100%; display: block;" src="images/calle_yungay.png">
                  <div class="card-body">
                  <h5>{{$mark}}</h5>
                  <p>{{$brief}}</p>

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:4)

关于控制器功能:

$routes = 'tourNameENG';  // is a string

在视图上,您​​正在尝试对其进行迭代:

@foreach($routes as $route)

这就是错误Invalid argument supplied for foreach()的原因。

foreach():仅适用于数组和对象,当您尝试将其用于具有不同数据类型的变量或未初始化的变量时,将发出错误消息。