第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

LARAVEL - 缺少必需的參數(shù)

LARAVEL - 缺少必需的參數(shù)

PHP
Qyouu 2021-11-26 15:42:21
我是編碼新手,我一直在觀看有關(guān) Laravel 中一個簡單的服務(wù)器端處理 crud 和數(shù)據(jù)表的 youtube 教程,我收到了這個錯誤,我不知道為什么我會得到它。我正在嘗試為我的代碼創(chuàng)建一個更新函數(shù),但不能因為這個錯誤。我有一種感覺,這是因為我的更新網(wǎng)址,但我在教程中使用了相同的語法,所以你能幫助我嗎?缺少 [Route: Clients.update] [URI: Clients/{Client}] 的必需參數(shù)。(查看:C:\xampp\htdocs\project\resources\views\clients\clients.blade.php)這是我的視圖代碼<div id="formmodal" class="modal fade" role="dialog">  <div class="modal-dialog modal-lg">    <div class="modal-content">        <div class="modal-header">            <h5 class="modal-title" id="exampleModalLabel">Client Form</h5>            <button type="button" class="close" data-dismiss="modal" aria-label="Close">                <span aria-hidden="true">&times;</span>            </button>        </div>{{-- header --}}            <div class="modal-body">                <span class="result" id="result"></span>                <form method="post" id="client_form" enctype="multipart/form-data">                    @csrf                    <div class="form-group">                        <label for="client_name">Name</label>                        <input type="text" class="form-control" name="client_name" id="client_name" placeholder="Enter Name">                    </div>                    <div class="form-group">                        <label for="client_address">Addres</label>                        <input type="text" class="form-control" name="client_address" id="client_address" placeholder="Enter Addres">                    </div>                    <div class="form-group">                        <label for="client_date">Birth Date</label>                        <input type="date" class="form-control" name="client_bdate" id="client_bdate">                    </div>                </div>                </form>            </div>    </div>  </div></div>
查看完整描述

3 回答

?
千萬里不及你

TA貢獻(xiàn)1784條經(jīng)驗 獲得超9個贊

在您的控制器中,您缺少第二個參數(shù)。


所以試試這樣:


public function update(Request $request, Client $client)

    {

        $rules = array(

            'client_name'       =>  'required',

            'client_address'    =>  'required',

            'client_bdate'      =>  'required'

        );


        $error = Validator::make($request->all(), $rules);


        if($error->fails())

        {

            return response()->json(['errors'=>$error->errors()->all()]);

        }


        $form_data = array(

            'client_name'       =>  $request->client_name,

            'client_address'    =>  $request->client_address,

            'client_bdate'      =>  $request->client_bdate

        );

        // You should get your client in variable $client

        //Clients::find($request->hidden_id)->update($form_data);

        $client->update($form_data);


        return response()->json(['success' => 'Data Updated']);

    }

另請注意,如果您想讓您的代碼看起來更簡單,您可以像這樣驗證您的請求:


public function update(Request $request, Client $client)

    {

        $request->validate([

            'client_name'       =>  'required',

            'client_address'    =>  'required',

            'client_bdate'      =>  'required'

        ])

        $client->update($form_data);


        return response()->json(['success' => 'Data Updated']);

    }

您可以在此處閱讀更多內(nèi)容。


祝你好運(yùn)!


查看完整回答
反對 回復(fù) 2021-11-26
?
FFIVE

TA貢獻(xiàn)1797條經(jīng)驗 獲得超6個贊

在您的路由文件中刪除 {}Clients/{Client}或最好將其更改為:Clients/update,當(dāng)您將 {} 放在一些文本周圍時,您正在綁定一些參數(shù)(實際上是 Eloquent 模型),并且您應(yīng)該在調(diào)用時提供它(提供 ID)路線。



查看完整回答
反對 回復(fù) 2021-11-26
?
Cats萌萌

TA貢獻(xiàn)1805條經(jīng)驗 獲得超9個贊

首先,讓我們制定一些約定。


將您的路線定義更改為


Route::resource('clients', 'ClientsCont');

按照慣例,控制器名稱應(yīng)該是駝峰式大小寫并以大寫字母開頭。路由名稱通常是小寫的。


接下來,確保您的控制器文件命名正確ClientsCont.php,并且類名也應(yīng)該是ClientsCont. 最后,您必須為您的update()方法提供第二個參數(shù)以保存要更新的客戶端對象。


客戶端連接.php


namespace App\Http\Controllers;

use App\Client;


class ClientsCont extends Controller

{

    // class definition


    public function update(Request $request, Client $client)

    {

        $rules = array(

            'client_name'       =>  'required',

            'client_address'    =>  'required',

            'client_bdate'      =>  'required'

        );


        $error = Validator::make($request->all(), $rules);


        if($error->fails())

        {

            return response()->json(['errors'=>$error->errors()->all()]);

        }


        $form_data = array(

            'client_name'       =>  $request->client_name,

            'client_address'    =>  $request->client_address,

            'client_bdate'      =>  $request->client_bdate

        );


        $client->update($form_data);


        return response()->json(['success' => 'Data Updated']);


    }

}

現(xiàn)在,正確設(shè)置您的 Ajax 請求。


$('#client_form').on('submit', function(event){

    var url;

    if($('#action').val() == 'Add')

    {

        url = "{{ route('clients.store') }}";

    }else{

        url = "{{ route('clients.update') }}";

    }

    $.ajax({

        url: url,

        method: "POST",

        data: new FormData(this),

        cache: false,

        dataType: "json",

        success:function(data)

        {

            var html = '';

            if(data.errors)

            {

                html = '<diV class="alert alert-danger">';

                for(var count = 0; count < data.errors.length; count++)

                {

                    html += '<p>' + data.errors[count] + '</p>';

                }

                html += '</div>';

            }

            if(data.success)

            {

                alert("add");

                html = '<diV class="alert alert-success">' + data.success + '</div>';

                $('#client_form')[0].reset();

                $('#table_id').DataTable().ajax.reload();

            }

            $('#result').html(html);

        }

    })

    return false;

});

通常使用return false;是停止默認(rèn)事件操作和傳播的首選方式。


[return false;]通常出現(xiàn)在 jQuery 代碼中,它阻止瀏覽器的默認(rèn)行為,阻止事件冒泡 DOM,并立即從任何回調(diào)返回。


有關(guān)完整詳細(xì)信息,請參閱此媒體文章。


此外,從您的代碼中,您的某些 ajax 設(shè)置是不必要的,應(yīng)該省略,以便使用它們的默認(rèn)值。對于大多數(shù)表單,這些默認(rèn)值通常就足夠了。


例如,使用jQuery Ajax 設(shè)置processData: false禁用處理表單數(shù)據(jù)并使用toString()對象的方法來形成請求數(shù)據(jù)字符串。


當(dāng)您將數(shù)據(jù)設(shè)置為除 processData 設(shè)置為 false 的字符串以外的常規(guī)對象時,jQuery 不會處理該對象。該對象完全按原樣傳遞給 Ajax 調(diào)用,并像字符串一樣使用。這默認(rèn)調(diào)用 toString 方法并將結(jié)果作為 Ajax 請求中的數(shù)據(jù)發(fā)送到服務(wù)器。


見這對完整的描述。確保您需要此設(shè)置,否則將其全部丟棄。


您可能需要放棄的另一個 Ajax 設(shè)置是contentType: false,除非您有充分的理由進(jìn)行設(shè)置。


查看完整回答
反對 回復(fù) 2021-11-26
  • 3 回答
  • 0 關(guān)注
  • 282 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號