Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从Laravel 5.8中的空值创建默认对象_Php_Html_Laravel_Laravel 5.8 - Fatal编程技术网

Php 从Laravel 5.8中的空值创建默认对象

Php 从Laravel 5.8中的空值创建默认对象,php,html,laravel,laravel-5.8,Php,Html,Laravel,Laravel 5.8,嗨,我想弄明白为什么我总是犯这个错误?我总是从空值创建默认对象。我只想使编辑部分编辑和更新用户。但当我单击更新按钮时,会显示此错误。该错误在公共功能更新(请求$Request)部分突出显示 这是我的代码: UserController.php <?php namespace App\Http\Controllers\Admin; use Illuminate\Http\Request; use App\Http\Controllers\Controller; use App\User

嗨,我想弄明白为什么我总是犯这个错误?我总是从空值创建默认对象。我只想使编辑部分编辑和更新用户。但当我单击更新按钮时,会显示此错误。该错误在公共功能更新(请求$Request)部分突出显示

这是我的代码:

UserController.php

<?php

namespace App\Http\Controllers\Admin;

use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\User;

class UserController extends Controller
{
    /**
     * Create a new controller instance.
     *
     * @return void
     */
    public function __construct()
    {
        $this->middleware('auth');
    }
    public function index(Request $request)
    {
        $page_title = 'List of Users';
        $page_icon = 'users';
        $users = User::all();

        return view('admin.users.index', compact('users', 'page_title', 'page_icon'));
    }

    public function systemUpdateCheck(Request $request)
    {
        if(!\Auth::user()){
            abort(403);
        }
        if(\Auth::user() and !\Auth::user()->isAdmin()){
            abort(404);
        }
        $result1='';
        if(PHP_OS == 'WINNT'){
            $doc_root = base_path();
        }
        else{
            $doc_root = preg_replace("!${_SERVER['SCRIPT_NAME']}$!", '', $_SERVER['SCRIPT_FILENAME']).'';
        }
        $username='mohd-aidi';$psswd='8dc3e5026ab4cbbaac997707a497fe64e18cddd0';$gitSource="github.com/mohd-aidi/laravelbase";
        exec("cd $doc_root && git pull https://$username:$psswd@$gitSource.git 2>&1", $results);
        $result1='';
        foreach ($results as $result) {
            $result1 .= $result.'<br/>';
        }
        if (isset($request['ram'])) {
            try{
                \Artisan::call('migrate', ["--force"=> true ]);
                $result1 .= \Artisan::output();
            }catch(Exception $e){
                $result1 = $e->getTraceAsString();
            }
        }
        if (isset($request['rdbs'])) {
            try{
                \Artisan::call('db:seed', ["--force"=> true ]);
                $result1 .= \Artisan::output();
            }catch(Exception $e){
                $result1 = $e->getTraceAsString();
            }
        }
        /*
        \Artisan::call('config:cache');
        $result1 .= \Artisan::output();
        */
        exec("cd $doc_root && composer dump-autoload 2>&1", $results3);
        foreach ($results3 as $result) {
            $result1 .= $result.'<br/>';
        }
        if(strlen($result1)==0){
            $result1='Nothing to check here. off you go now';
        }
        $data = "<pre>$result1</pre>";
        return view('_blank', compact('data'));
    }

    public function edit($id)
    {
        $page_title = 'Kemaskini Pengguna';
        $page_icon = 'edit';
        $user = User::find($id);
        return view('admin.users.edit', compact('page_title','page_icon','user'));        
    }

    public function update(Request $request)
    {
        $request->validate([
            'name'=>'required',
            'email'=>'required',
            'username'=>'required'
        ]);

        $id = $request->input('user_id');
        $user = User::find($id);
        $user->name =  $request->get('name');
        $user->email = $request->get('email');
        $user->password = $request->get('password');
        $user->username = $request->get('username');
        $user->type_id = $request->get('type_id');
        $user->save();
        return redirect('/users')->with('success', 'User updated!');
    }

    public function store(Request $request)
    {
        $request->validate([
            'name'=>'required',
            'email'=>'required',
            'username'=>'required'
        ]);
        $user = new User([
            'name' => $request->get('name'),
            'email' => $request->get('email'),
            'password' => $request->get('password'),
            'username' => $request->get('username'),
            'type_id' => $request->get('type_id'),
        ]);
        $user->save();
        return redirect('/users')->with('success', 'User saved!');
    }
}

最有可能的
$user
失败,因为您无法将属性分配给它。也许你应该改用
$request->route('user_id')
,因为你的用户id来自路由,而不是输入。顺便说一下,你应该做调试部分,
dd()
函数是你的朋友,如果你已经识别了行错误,你应该开始使用
dd()
,这样你就可以检查数据是如何流动的,然后你可以想出什么是wrong@Kevin好吧,我先试试。@Kevin还是给空。或者我在routes.web中遇到了问题?很可能是
$user
失败了,因为您无法将属性分配给它。也许你应该改用
$request->route('user_id')
,因为你的用户id来自路由,而不是输入。顺便说一下,你应该做调试部分,
dd()
函数是你的朋友,如果你已经识别了行错误,你应该开始使用
dd()
,这样你就可以检查数据是如何流动的,然后你可以想出什么是wrong@Kevin好吧,我先试试。@Kevin还是给空。或者我在routes.web上遇到了问题?
@extends('layouts.master')
@section('content') 

<div class="main-card mb-3 card" data-step="6" data-intro="Users list">
<div class="card-body">
<div class="row">
    <div class="col-sm-8 offset-sm-2">

        @if ($errors->any())
        <div class="alert alert-danger">
            <ul>
                @foreach ($errors->all() as $error)
                <li>{{ $error }}</li>
                @endforeach
            </ul>
        </div>
        <br /> 
        @endif
        <form method="post" action="{{ route('admin.users.update', $user->id) }}">
            @method('PATCH') 
            @csrf
            <div class="form-group">
                <label for="name">Name:</label> 
                <input type="string" class="form-control" name="name"  value= "{{ $user->name }}" />
            </div> 
            <div class="form-group">
                <label for="email">E-Mail:</label>
                <input type="text" class="form-control" name="email" value= "{{ $user->email}}" />
            </div>
            <div class="form-group">
                <label for="username">Username:</label>
                <input type="text" class="form-control" name="username" value= "{{ $user->username }}" />
            </div>
            <div class="form-group">
                <label for="type_id">Type id:</label>
                <input type="text" class="form-control" name="type_id" value= "{{ $user->type_id }}" />
            </div>
            <button type="submit" class="btn btn-primary">Update</button>
        </form>
    </div>
</div>
</div>
</div>

@endsection

@section('footer')
    <script type="text/javascript">
        $(document).ready(function(){
            $('#example').DataTable();
        });
    </script>
@endsection
<?php

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/', 'HomeController@index')->name('welcome');

Auth::routes();

Route::get('/faq/{type}', 'PublicController@faqByType')->name('faq_by_type');

Route::get('/home', 'HomeController@index')->name('home');
Route::get('/profile', 'ProfileController@profile')->name('profile');

Route::group(['prefix' => 'admin'], function () {
    Route::resource('/users', 'Admin\UserController');
    Route::get('/users', 'Admin\UserController@index')->name('admin_users');
    Route::get('/users/edit/{id}','Admin\UserController@edit')->name('admin.users.edit');
    //Route::get('/users/update{id}','Admin\UserController@update')->name('admin.users.update');
    Route::post('/users/update','Admin\UserController@update')->name('admin.users.update');
    Route::get('/kompaun', 'DemoController@indexKompaun')->name('kompaun.list');
    Route::get('/resit/parking', 'ParkingTicketsContoller@index')->name('resit.list');
    Route::get('/map/area', 'DemoController@indexMapArea')->name('map.area.index');
    Route::get('/report', 'ReportController@index')->name('report.index');

    Route::get('/check/system/update', 'Admin\UserController@systemUpdateCheck')->name('admin.system.update');
});