Laravel Livewire 组件偏移

Livewire我正在尝试通过称为内部组件的 laravel 控制器获取一些技术人员数据。在某些情况下,控制器返回null是因为没有相关技术人员。


这是我渲染视图的 livewire 组件:


class TechniciansAssociated extends Component

{

    public function render()

    {

        $technicians = (new HomeController())->getTechnicians();


        return view('livewire.dashboard.technicians-associated', [

            'technicians' => $technicians,

        ]);

    }

}

这里从家庭控制器调用函数:


public function getTechnicians()

{

    $customer_ids = json_decode(User::find(Auth::id())->userCustomers->customer_id,true);


    $technicians_data = DB::connection('mysql')

        -> select('SELECT distinct users.id, users.name, users.surname, users.lastname, users.email, users.cargo, users.photo

           FROM users

           INNER JOIN contractsproductsmulti AS cpm ON users.id = cpm.userId

           INNER JOIN contractsproducts AS cp ON cp.id = cpm.contractproduct_id

           INNER JOIN contracts AS cont ON cont.id = cp.idcontract

           WHERE users.isActive = 1 AND cont.idCustomer IN (?)', $customer_ids

        );


    if (count($technicians_data) > 0){

        return $technicians_data;

    }


    return null;

}

最后,当尝试获取渲染 livewire 视图的主视图时,我遇到了错误


@section('content')


<section id="dash-cust-info">

    <div class="row p-t-30 p-b-30">

        <div class="col-md-6">

            <h4>Customer info</h4>

        </div>

        <div class="col-md-3">

            <h4>Comm_1</h4>

            <div class="card no-border no-margin">

                @livewire('dashboard.commercials-associated')

            </div>

        </div>

        <div class="col-md-3">

            <h4>Comm_2</h4>

            <div class="card no-border no-margin">

                @livewire('dashboard.technicians-associated')

            </div>

        </div>

    </div>

....

错误:


Undefined offset: 1 (View: /......../resources/views/home.blade.php)


慕仙森
浏览 98回答 2
2回答

梦里花落0921

我想这个答案为 livewire 中的此类问题提供了很好的解释。把它留在这里,这样以后遇到这种问题的人都会得到帮助。不客气

慕娘9325324

好的,LiveWire 组件需要一个 HTML 元素才能在它自己的视图上获得结果。例如:<div> //missed on my code&nbsp; &nbsp; @foreach($users as $user)&nbsp; &nbsp; &nbsp; &nbsp; {{$user->id}}&nbsp; &nbsp; @endforeach</div>
打开App,查看更多内容
随时随地看视频慕课网APP