我的Laravel学习之路之实现简单Blog展示

来源:互联网 发布:ubuntu游客创建用户 编辑:程序博客网 时间:2024/06/07 09:46

注意啊,从这节起,已经将默认的查询数据库返回由数组改为对象  即ASSOC改为CLASS

上一节我们已经创建好了一个模型类,叫Samples

那么我们创建一个控制器:php artisan make:controller SamplesController

然后在控制器上方添加  use App\Samples;

然后在路由中Route::get('/sample','SamplesController@index');


然后在SamplesController中的index方法中,写下

$list = Samples::all();

当我们我们可以先使用return($list);来看一下结果

然后 return view('samples/index',compact('list'));当然你也可以这样写return view('samples/index')->with('list',$list);

然后在根目录resources的views视图下建立samples/index.blade.php

里面可以使用继承

@extends('app')

@section('content')

@foreach($list as $key=>$value)

<h3>{{ $value->name }}</h3>

<div class='body'>

{{ $value->content }}

</div>

@endforeach

@stop


直接上我的示例代码,注意使用OrFail这个好方法

注意细节,传递参数查询为空时$list值为null,所以使用findOrFail($id)

public function getShow($id)    {        //但是如果传递的参数不存在的话,$list会返回null,建议在配置文件.env中的APP_DEBUG改为false,这样可以自定义404页面        //两种写法一种是if判断        $list = Samples::findOrFail($id);        // dd($list);        // return view('sites.smaple')->with('list',$list); 推荐写成下面这种写法        // if(is_null($list)){        //     abort(404);  这是一种写法,先判断一下数据是否为null,如果为null就抛出404页面        // }                但是我们的大laravel怎么会这么平凡,我们当然有神器OrFail加在find后面即可,        //                  如果没有数据则会返回No query results for model [App\Samples].        return view('sites.smaple',compact('list'));            }


重点啊,关于路径传参,和thinkphp3.2不同
@extends('app')@section('content')<!-- 重点啊,关于url传参的写法,就类似于thinkphp3.2里的__URL__  __MODULE__ __PUBLIC__ __ROOT__ __APP__ --><!-- 第一种写死 --><h3><a href="/users/show/{{ $list->id }}">{{ $list->id }}</a></h3><!-- 第二种使用url() --><h3><a href="{{ url('users/show',$list->id) }}">{{ $list->id }}</a></h3><!-- 第三种使用action方法,前提是在路由中有指定,隐式控制器不适用这个 --><!-- <h3><a href=" action('UserController@show',[$list->id]) "> $list->id </a></h3> --><div class="body">{{ $list->inrto }}</div>@stop


阅读全文
0 0
原创粉丝点击