首页 > 解决方案 > 尝试在我的数据库 phpmyadmin 中保存数据时未定义的变量 $Member

问题描述

这是控制器代码。

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Member;
class membercontroller extends Controller {
    function addmemb(Request $req) {
        $member = new $Member;
        $member->name = $req->name;
        $member->age = $req->age;
        $member->email = $req->email;
        $member->save();
    }
}

查看代码:

<h1>Enter The Member Info </h1>
<form action= "addmembers" method="POST">
    @Csrf
    <input type="text" name="name" placeholder="Enter Your Name."> <br><br>
    <input type="text" name="age" placeholder="Enter Your Age.">  <br><br>
    <input type="text" name="email" placeholder="Enter Your Email.">  <br><br>
    <button type="submit">Add Member</button> <br><br>
</form>

Route::view('addmembers', 'addmembers');
Route::post('addmembers', [membercontroller::class, 'addmemb']);

这些是视图和功能的路线。谁能指出我的错误?它在说Undefined Variable

每当我尝试将数据保存在我的数据库中时,它都会显示一条错误消息$Member is undefined。请指出我应该怎么做才能使这个运行?

标签: laravelcontroller

解决方案


$Member 不是变量!它是一个模型,所以你必须像这样使用它:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Models\Member;

class membercontroller extends Controller
{
    
    function addmemb(Request $req){

        $member = new Member; ////////
        $member->name = $req->name;
        $member->age = $req->age;
        $member->email = $req->email;
        $member->save();
    }
}

推荐阅读