douzhechi2435 2018-07-05 14:06
浏览 36
已采纳

Laravel试图添加到数据库

I'm new on Laravel framework. I'm trying to save from forms to database.

Example:

  • Input STEAM_ID:
  • Input Access:

Controller:

public function admins_add()
{
    $serveradmins = DB::table('server_admins')->first();
    $this->title('Add admins');
    $this->pageView('servers::admins_add', ['serveradmins' => $serveradmins]);
    DB::table('server_admins')->insert(
        array(
            $serveradmins->auth = Input::get('steam-id'),
            $serveradmins->access = Input::get('access'),
            $serveradmins->password = 'nopass',
            $serveradmins->flags = 'ce',
            $serveradmins->added_by = Input::get('added_by')
        )
    );
    $serveradmins->save();
    return Redirect::back();
}

Views:

<div class="page page-servers page-servers-admin-form">
    <form method="POST" action="/admin/servers/admins/create" accept-charset="UTF-8" class="form-horizontal">
        <div class="form-group ">
            <label for="title" class="col-sm-3 control-label">STEAM ID</label>
            <div class="col-sm-9">
                <input name="steam-id" type="text" id="steam-id">
            </div>
        </div>

        <div class="form-group ">
            <label for="access" class="col-sm-3 control-label">Teisės</label>
            <div class="col-sm-9">
                <input name="access" type="hidden" value="" id="access">
                <select id="access" name="access"><option value="" selected="selected">-</option>
                    <option value="abcdefghijklmnopqrstuv">Owner</option>
                    <option value="bcdfijmnopqruv">Admin</option>
                    <option value="3" disabled>PREMIUM</option>
                </select>
            </div>
        </div>

        <div class="form-actions">
            <button type="submit" name="_form_submit" class="btn btn-default" value="1">
                <i class="fas fa-save "></i> 
                SAVE!
            </button>
            <button type="button" onclick="document.location.href='/admin/servers/admins'"  class="btn btn-default">
                <i class="fas fa-times "></i> Cancel
            </button>
        </div>
    </form>
</div>
</section>

And my routes:

    ModuleRoute::get('admin/servers/admins/create', 'AdminServersController@admins_add');
    ModuleRoute::post('admin/servers/admins/create', 'AdminServersController@admins_add');

Dont be mad on my if my code is terrible, i'm new on laravel and really like it! Thanks guys for helping :)

  • 写回答

2条回答 默认 最新

  • duanlu0075 2018-07-05 14:20
    关注

    First: Why do you want to execute admins_add() in your get route? Create a function called index() for easier understanding and tell that function to return the view like

    public function index() {
    $serveradmins = DB::table('server_admins')->first();
    return view('viewname')->with('serveradmins', $serveradmins);
    }
    

    Then your admins_add()should look like this:

    public function admins_add(Request $request)
    {
           ServerAdmin::create([
            'auth' => $request->steam-id,
            'access' => $request->access,
            'password' => 'nopass',
            'flags' => 'ce',
            'added_by' => $request->added_by
            ]);     
    
        return Redirect::back();
    }
    

    And before executing generate the ServerAdmin Model via CLI ( php artisan make:model ServerAdmin) and inside this model you change the fillables to

    protected $fillable = [
              'auth',
              'access',
              'password',
              'flags',
              'added_by'
              ];
    

    and set

    protected $table = 'server_admins';
    

    Edit: As N Mahurin mentioned in the comments - take this solution for practicing with Laravel. Mass Assignments have a heavy security risk. Read here about it: https://laravel.com/docs/5.6/eloquent#mass-assignment

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 用HslCommunication 连接欧姆龙 plc有时会连接失败。报异常为“未知错误”
  • ¥15 网络设备配置与管理这个该怎么弄
  • ¥20 机器学习能否像多层线性模型一样处理嵌套数据
  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?