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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何修復(fù)“在 null 上調(diào)用成員函數(shù) update()”錯(cuò)誤?

如何修復(fù)“在 null 上調(diào)用成員函數(shù) update()”錯(cuò)誤?

PHP
富國(guó)滬深 2024-01-19 16:55:03
我正在嘗試將輸入數(shù)據(jù)從表單提取到數(shù)據(jù)庫(kù)中以運(yùn)行更新操作。然而,它們是一個(gè)錯(cuò)誤,直接指向“$obj->update(request()->all());”行。錯(cuò)誤是“在 null 上調(diào)用成員函數(shù) update()”。我不太確定這個(gè)錯(cuò)誤意味著什么,但我認(rèn)為這意味著 request()->all() 為空。我想要的輸出是在將用戶(hù)輸入更新到數(shù)據(jù)庫(kù)后,用戶(hù)將通過(guò) return redirect('/p') 重定向到 pageManagement.blade.php; 然而,當(dāng)前的輸出只是一條錯(cuò)誤消息,指出“Call to a member function update() on null”。public function update($URI){    $data = request()->validate([        'title' => 'required',        'URI' => 'required|min:5|max:10',        'pageContent' => 'required'    ]);    $obj = \App\Page::find($URI);    $obj->update(request()->all());    return redirect('/p');}這是我的模型 Page.php。class Page extends Model{    protected $fillable = ['title', 'URI', 'pageContent'];}這是我在 web.php 中的路線(xiàn)。Route::patch('/page/{URI}','PageController@update');這是我的表單,供用戶(hù)輸入輸入數(shù)據(jù)。<form action="/page/{{ $pageContent->URI }}" method="post">@csrf@method('PATCH')  <label for="title">Title:</label><br>  <input type="text" id="title" name="title" autocomplete="off" value="{{ $pageContent -> title }}"><br>  @error('title') <p style="color: red">{{ $message }}</p> @enderror  <label for="URI">URI:</label><br>  <input type="text" id="URI" name="URI" autocomplete="off" value="{{ $pageContent -> URI }}"> @error('URI') {{ $message }}@enderror 頁(yè)面內(nèi)容:pageContent }}"> @error('pageContent') {{ $message }}@enderror tinymce.init({ 選擇器:'#pageContent' })我的 GitHub 存儲(chǔ)庫(kù)附在下面,因?yàn)楸韱蔚膯?wèn)題格式看起來(lái)有點(diǎn)搞砸了......https://github.com/xiaoheixi/wfams感謝您閱讀我的問(wèn)題?。篋
查看完整描述

4 回答

?
倚天杖

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個(gè)贊

您正在使用Request ,因此您需要在函數(shù)中調(diào)用Requestupdate() ,您可以使用 For 方法where():


public function update(Request $request)

{

? ? $data = $request->validate([

? ? ? ? 'title' => 'required',

? ? ? ? 'URI' => 'required|min:5|max:10',

? ? ? ? 'pageContent' => 'required'

? ? ]);


? ? $obj = \App\Page::where('URI', $request->URI)

? ? ? ? ->update([

? ? ? ? ? ? 'title' => $request->title,?

? ? ? ? ? ? 'pageContent' => $request->pageContent

? ? ? ? ]);


? ? return redirect('/p');

}


查看完整回答
反對(duì) 回復(fù) 2024-01-19
?
慕哥9229398

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

錯(cuò)誤的意思是find返回了null。這是有道理的,因?yàn)閒ind我們將嘗試搜索主鍵字段而不是URI字段。


我不會(huì)使用URI作為該記錄的標(biāo)識(shí)符。我會(huì)用它的id.


<form action="/page/{{ $pageContent->id }}" method="post">


Route::patch('/page/{page}','PageController@update');

這將使事情變得相當(dāng)簡(jiǎn)單?,F(xiàn)在您可以輕松地使用路由模型綁定來(lái)獲取此信息Page:


use App\Page;

...


public function update(Page $page)

{

    $data = request()->validate([

        'title' => 'required',

        'URI' => 'required|min:5|max:10',

        'pageContent' => 'required'

    ]);


    $page->update(request()->all());


    return redirect('/p');

}

這將確保這$page是一個(gè)現(xiàn)有的模型實(shí)例。既然如此,你就可以調(diào)用update它。只需確保title,URI和pageContent是“可填充的”。


查看完整回答
反對(duì) 回復(fù) 2024-01-19
?
呼啦一陣風(fēng)

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

我看到你的github https://github.com/xiaoheixi/myFirstWebsite


在控制器中使用模型綁定的示例:


Route::patch('/page/{URI}','PageController@update');

Route::get('{URI}', 'PageController@getPage');

public function update($URI)

{

    $data = request()->validate([

        'title' => 'required',

        'URI' => 'required|min:5|max:10',

        'pageContent' => 'required'

    ]);

    $obj = \App\Page::find($URI);

    $obj->update(request()->all());

    return redirect('/p');

}

將控制器更改為:


use App\Page;


public function getPage(Page $URI)

{

    return view('page_view', compact('URI'));

}


public function update(Request $request, Page $URI)//match $URI to {URI}

{

    $data = $request->validate([

        'title' => 'required',

        'URI' => 'required|min:5|max:10|unique:pages,URI,'.$URI->id, //you dont want a duplicate URI when you search a page by URI

        'pageContent' => 'required'

    ]);

    

    $URI->update($request->all());

    return redirect('/p');

}

在刀片中:


<form action="/page/{{ $pageContent }}" method="post">

在模型中:


use Illuminate\Database\Eloquent\Model;


class Page extends Model

{

    protected $fillable = ['title', 'URI', 'pageContent'];

    public function getRouteKeyName()

    {

        return 'URI';

    }

}


查看完整回答
反對(duì) 回復(fù) 2024-01-19
?
當(dāng)年話(huà)下

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

我建議您使用驗(yàn)證規(guī)則“ exists ”驗(yàn)證 URI 是否存在:


  $data = request()->validate([

        'title' => 'required',

        'URI' => 'required|min:5|max:10|exists:pages,URI',

        'pageContent' => 'required'

    ]);

現(xiàn)在,如果 URI 不存在于您的頁(yè)面表中,laravel 將返回一個(gè)驗(yàn)證錯(cuò)誤,并顯示消息,如“指定的 URI 不存在于表頁(yè)面中”


查看完整回答
反對(duì) 回復(fù) 2024-01-19
  • 4 回答
  • 0 關(guān)注
  • 247 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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