【问题标题】:route /$id in livewire cant access datalivewire 中的 route /$id 无法访问数据
【发布时间】:2021-01-19 22:37:02
【问题描述】:

好的,我想创建像这样在另一个页面中显示数据的路线

http://localhost:8000/uraian/1

我的路线是这样的

Route::get('/uraian/{id}', [PengadaanController::class, 'uraian'])->name('uraian');

我可以访问这个及其正常的 .现在它是我的 livewire 功能

<?php

namespace App\Http\Livewire;

use Livewire\WithPagination;

use App\Models\Kegi;

use App\Models\Uraian;

use Livewire\Component;

class UraianLw extends Component

{

    use WithPagination;
       public $uraianid ,$kegiatan_id ,$kode_rekening ,$uraian ,$anggaran ;




    public function render($id)

    {

        $kegiatan = Kegi::findOrFail($id);// here the problem

        $newid = $kegiatan->id ;

        

        return view('livewire.uraian-lw',[

            'uraian' => Uraian::where('id' ,$newid)->where('uraian', 'like', '%'.$this->search.'%')->paginate(10)

        ]);

    }
}

有错误

无法解析 App\Http\Livewire\Uraian 类中的依赖项 [Parameter #0 [ $id ]]

如何解决这个问题?

#更新我的刀片

<x-app-layout>
<x-slot name="header">
    <h2 class="font-semibold text-xl text-gray-800 leading-tight">
        {{ __('Dashboard') }} 
    </h2>
</x-slot>


     @livewire('uraian-lw')
           
    

</x-app-layout>

【问题讨论】:

  • 添加您的PengadaanController 代码或您调用此组件的位置。?
  • 我需要使用控制器吗?
  • 您在此处添加了Route::get('/uraian/{id}', [PengadaanController::class, 'uraian'])-&gt;name('uraian'); 控制器,对吗?
  • 对,我加了

标签: laravel laravel-livewire


【解决方案1】:

你应该使用这个

<x-app-layout>
<x-slot name="header">
    <h2 class="font-semibold text-xl text-gray-800 leading-tight">
        {{ __('Dashboard') }} 
    </h2>
</x-slot>


     @livewire('uraian-lw',['id' => Route::current()->parameter('id')]) <----------------- pass id from blade
           
    

</x-app-layout>

App\Http\Livewire\UraianLw.php

<?php

use Livewire\Component;
use App\Models\Kegi;
use App\Models\Uraian;


class UraianLw extends Component

{

    use WithPagination;
    public $uraianid, $kegiatan_id, $kode_rekening, $uraian, $anggaran, $newid;


    public function mount($id)
    {
        $kegiatan = Kegi::findOrFail($id);
        $this->newid = $kegiatan->id;
    }

    public function render()

    {
        return view('livewire.uraian-lw', [

            'uraian' => Uraian::where('id', $this->newid)->where('uraian', 'like', '%' . $this->search . '%')->paginate(10)

        ]);
    }
}

【讨论】:

  • 好的,我明白了。但是我怎样才能在我的渲染中使用这个 $newid 呢?
  • 等我试试
  • 我按照你的所有步骤操作,但仍然有错误无法解决 App\Http\Livewire\UraianLw 类中的依赖项 [Parameter #0 [ $id ]]
  • 我不在渲染函数的 $id 处
  • @AdhikMulat 更新了我的答案,检查一下
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-11-22
  • 2017-10-20
  • 2021-11-19
  • 2017-04-26
  • 2018-12-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多