【问题标题】:FatalThrowableError in Testing.php line 39: Class 'App\TestingModel' not found laravel 5.3Testing.php 第 39 行中的 FatalThrowableError:找不到类“App\TestingModel”laravel 5.3
【发布时间】:2016-12-15 09:44:41
【问题描述】:

我是 Laravel 5.3 和学习的新手。现在我已经创建了表单,我想通过控制器和模型将表单值插入数据库。现在我正在从表单获取所有数据到控制器,我想将它传递给模型。但是当我将数据传递给模型时,我得到一个错误

"BadMethodCallException in Controller.php line 82:
Method [savemodel] does not exist" 

这是我的查看页面代码:

{{Form::open(array('action' => 'Testing@store', 'method' => 'post'))}}

<div class="form-group">
    {!! Form::label('title', 'Title:', ['class' => 'control-label']) !!}
    {!! Form::text('title', null, ['class' => 'form-control']) !!}
</div>

<div class="form-group">
    {!! Form::label('description', 'Description:', ['class' => 'control-label']) !!}
    {!! Form::textarea('description', null, ['class' => 'form-control']) !!}
</div>

{!! Form::submit('Submitform', ['class' => 'btn btn-primary']) !!}

{!! Form::close() !!}

这是我的控制器(Testing.php):

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\TestingModel;
class testing 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('pages.create');
    }

    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function store(Request $request)
    {
        echo 'hi';
      $storeform=new TestingModel();
      $storeform->savemodel($request);


    }




}

这是我的模型(TestingModel):

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class TestingModel extends Model
{
   public function savemodel()
   {
       echo 'hello';exit;
   }


}

我不知道我的做法是否正确。如何从模型中插入数据?请帮助我

【问题讨论】:

    标签: php laravel-5.3


    【解决方案1】:

    首先在你的控制器中为你的模型添加一个命名空间

    use App\TestingModel
    

    那么你的控制器功能应该是这样的

    public function store(Request $request)
    {
        //echo 'hi';
      $storeform=new TestingModel;
      $storeform->title = $request->input('title');
      $storeform->description = $request->input('description');
      $storeform->save();
     }
    

    并像这样编辑您的模型

    $table = 'table_name';
    $fillable = [ 'title', 'description' ];
    

    如果你想从模型中运行函数,那么编写这样的代码

    $storeform = TestingModel::savemodel();
    

    【讨论】:

      【解决方案2】:

      这是我的模态。

      `

      <?php`
      
      `namespace App;`
      
      `use Illuminate\Database\Eloquent\Model;`
      
      `use App\UserUploads;`
      `use App\FileUplods;`
      
      `class FileUplods extends Model`  
      `{`   
          `protected $table = 'upload_files';`  
           `protected $fileable = ['user_id', 'origanal_file_name' , 'sortby' , 'new_file_name_after_upload'];`
      
      `}`
      
      
      and here is my controller
      
      `<?php`
      
      `namespace App\Http\Controllers;`
      
      `use Illuminate\Http\Request;`
      
      `use App\Http\Requests;`
      
      `use App\FileUplods;`
      
      `class ImageController extends Controller`
      `{`
      
          `public function ajaxfileupload(Request $request)`
              `{`   
                  `$fileupload = new FileUplods();`
                  `$fileupload->user_id = $user_id;`
                  `$fileupload->origanal_file_name = $request->origanal_file_name;`
                  `$fileupload->sortby = $request->sortby;`
                  `$fileupload->new_file_name_after_upload = $request->new_file_name_after_upload;`
                  `$fileupload->save();`
              `}`
      `}
      

      这是我的控制器尝试这样,这将毫无疑问地工作。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-09-20
        • 2017-06-07
        • 1970-01-01
        • 1970-01-01
        • 2020-04-22
        • 2015-10-07
        • 1970-01-01
        相关资源
        最近更新 更多