laravel 8 auth::表中的用户集合

vjhs03f7  于 2023-02-14  发布在  其他
关注(0)|答案(1)|浏览(91)

我是laravel 8和blade语法的新手。我正在做一个用户(代理)可以上传公寓的项目。我有代理表和相应的模型关系
主体模型

public function property()
    {
        return $this->hasMany(Property::class, property_id, id);
    }

属性模型

public function agents()
    {
    return $this->belongsTo(Agent::class, agent_id, id);

    }

我用breeze建立了我的注册和登录
我希望座席登录后,将在其 Jmeter 板中显示其属性列表。

@foreach(Auth::user()->properties as $property)
                                @if(($loop->count) > 0)
                                <td class="py-3 px-2">
                                    <div class="inline-flex space-x-3 items-center">
                                        <span>{{$property->propertyId}}</span>
                                    </div>
                                </td>

                                <td class="py-3 px-2">{{$property->building}}</td>
                                <td class="py-3 px-2">{{$property->rent->name}}</td>
@else
You have not uploaded any apartment
@endif
@endforeach

但是我得到错误“未定义的变量$属性”。
同时,{{ Auth::user()-〉其他名称}}工作正常。
代理控制器

public function index()
    {
        return view ('dashboard', [
            'agent' => Agent::all(),
            'appointment'=>Appointment::all(),
            'properties'=>Property::all(),
            'schedule'=>AgentSchedule::all()

        ]);
    }

属性控制器

public function create()
    {

        
        return view('pages.uploadapartment', [
            'states'=> State::all(),
            'areas'=>Area::all(),
            'buildings'=>building::all(),
            'buildingtypes'=>BuildingType::all(),
            'rentpaymentmethods'=>rentpaymentmethod::all(),
            'flattypes'=>flattype::all(),
        ]);

    }
py49o6xq

py49o6xq1#

因为您没有使用用户模型来定义关系!
你们的关系应该是这样的:

//In your agent model
public function properties()
{
    return $this->hasMany(Property::class, 'property_id', 'id');
}

//In property model
public function agent()
{
    return $this->belongsTo(Agent::class, 'agent_id', 'id');
}

当您需要登录用户的属性时,可以像这样获取它们:$properties = Auth::user()->properties;

相关问题