ErrorException:尝试获取非对象的属性:(使用laravel) [英] ErrorException: Trying to get property of non-object: (using laravel)

查看:63
本文介绍了ErrorException:尝试获取非对象的属性:(使用laravel)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

ErrorException:尝试获取非对象的属性:PHP初学者

ErrorException: Trying to get property of non-object: PHP beginner

尝试从数据库检索数据.

Trying to retreive data from database.

show.blade.php

show.blade.php

@extends('main')

@section('title','| Station details')

@section('content')

    <h1>{{ $station->station_name }}</h1>

    <p class="lead">{{ $station->station_name }}</p>

@endsection

控制器-

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Http\Requests;
use App\Station;
use Session;

class StationController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index()
    {
        //
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create()
    {
        //
        return view('stations.create');
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        // validate the data
        $this->validate($request, array(
                'station_name' => 'required|max:255',
                'date'=>'required'
            ));

        // store in the database
        $station = new Station;

        $station->station_name = $request->station_name;
        $station->date = $request->date;
        $station->PET = $request->PET;
        $station->max_temp = $request->max_temp;
        $station->min_temp = $request->min_temp;
        $station->min_rh = $request->min_rh;
        $station->solar_rad = $request->solar_rad;
        $station->rainfall = $request->rainfall;
        $station->wind4am = $request->wind4am;
        $station->wind4pm = $request->wind4pm;

        $station->save();

        Session::flash('success','Station data added');

        return redirect()->route('stations.show', $station->id);


        // redirect to another page
    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function show($id)
    {
        $station = Station::find($id);

        return view('stations.show')->withStation('$station');
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function edit($id)
    {
        //
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function update(Request $request, $id)
    {
        //
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        //
    }
}

数据库:-

推荐答案

在以下行中返回视图时:

When you are returning the view in the following line:

return view('stations.show')->withStation('$station');

您需要使用双引号或根本不使用引号.使用单引号实际上是将值设置为文字字符串"$station"而不是您创建的对象.

You need to either use double quotes or not use quotes at all. With the single quotes you are actually setting the value to the literal string "$station" instead of the object you created.

这篇关于ErrorException:尝试获取非对象的属性:(使用laravel)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆