doulv8162 2016-08-16 20:59
浏览 44

使用findOrFail时PHP Laravel雄辩的关系不起作用

I'm trying to get the profile that relates to the given user on my website.

The relation is setup correctly (I can do this: Auth::user() -> profile to access profile data. But when I try to do this: User::findOrFail(1) -> profile it gives me an error saying that it's not an object (and the value of profile is equal to null. Why is that? And yes the user with the ID of 1 does exist.

In my User model I've setup this:

public function profile() {
    return $this -> hasOne('App\Profile', 'user_id');
}

And in my Profile model I've done this:

public function user() {
    return $this -> belongsTo('App\User', 'user_id');
}

I just saw this problem when grabbing X users and going through them in a foreach loop as seen below.

    <div class="thumbs-wrapper text-center">

        @foreach ($last_online as $user)
            <div class="thumb @if(\App\User::isOnline($user -> id)) online @else offline @endif">
                <a href="/profile/view/{{ $user -> id }}">
                    <img src="{{ asset($user -> profile -> picture) }}">
                </a>
            </div>
        @endforeach

    </div>

What could be wrong? Thanks in advance.

  • 写回答

2条回答 默认 最新

  • douhu2898 2016-08-16 22:31
    关注

    Try this, if I understand your problem correctly

    User::with('profile')->where('id', '=', 1)->firstOrFail();
    

    or if you need load many user with their profiles

    User::with('profile')->take(10)->get();
    
    评论

报告相同问题?

悬赏问题

  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看