如何在laravel 5.4中访问关联的数组

时间:2017-08-04 11:53:43

标签: php laravel

我是Laravel的新人。我有一个表categories,我试图访问控制器中表的所有行,但只有最后一行显示在视图中。

我的控制器代码:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Category;
use DB;


class CategoryController extends Controller
{
    //
    public function create()
    {
        return view('admin1.create-cateogry');
    }
    public function store(Request $request)
    {
        $this->validate($request, [
                        'category_name' => 'required',
                    ]);
        $category_name = $request->input('category_name');
        $category=new Category;
        $category->category_name=$category_name;
        $category->url_name=$category_name;
        $category->status=1;
        $category->save();
        $success="Category Added Successfully";
        return redirect()->route('success',$success);
    }
public function view()
{


    //$categories=Category::table('categories')->get();
    $categories=DB::table('categories')->get();;
    //dd($categories);
    return view('admin1.view-category')->with('categories', $categories);
}

}

,这是我的观看代码

@extends('layouts.app')

@section('content')
<div class="container">
    <div class="row">
    <div class="col-md-4">


    </div>
        <div class="col-md-8 col-md-offset-2">
            <div class="panel panel-default">
                <div class="panel-heading">Categories</div>

                <div class="panel-body">
                    <table class="table table-bordered">
                        <tr>
                            <th>S.N.</th>
                             <th>Category Name</th>
                              <th>Url</th>
                               <th colspan="3">Action</th>
                        </tr>


                    <?php
                    $n=1;
                   // $categories->each(function($categorie) // 
                    foreach($categories as $categorie) { }
                    {?>


                        <tr>
                        <td><?php echo $n;?></td>
                        <td><?php echo $categorie->category_name;?></td>
                        <td><?php echo $categorie->url_name;?></td>
                        <td>Edit</td>
                        <td>Delete</td>


                        </tr>
                   <?php
                        $n++;
                    }
                    ?>
                    </table>
                </div>
            </div>
        </div>
    </div>
</div>
@endsection

任何人都可以向我解释我在查看操作中出错的地方吗?当我尝试执行dd($categories);时,它会反映所有记录。

1 个答案:

答案 0 :(得分:0)

For the controller:

public function view()
{
    $categories = Category::all();
    return view("admin1.view-category", ["categories" => $categories]);
}

Use blade template syntax:

@foreach($categories as $categorie) 
  <tr>
    <td>{{ $categorie->id }}</td>
    <td>{{ $categorie->category_name }}</td>
    <td>{{ $categorie->url_name }}</td>
    <td>Edit</td>
    <td>Delete</td>
  </tr>
@endforeach