【问题标题】:Returning null Value for User from Model从模型中为用户返回空值
【发布时间】:2018-05-09 05:50:33
【问题描述】:

我在http://localhost:8000/messages 处为用户获取了一个空值。我正在尝试在 Message 模型中获取用户表值。它还在控制台中给出了一个空值。

路线

Route::get('/messages', function () {
    return App\Message::with('user')-> get();
})-> middleware('auth');

型号

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class Message extends Model
{
    protected $fillable = ['message'];

    public function user()
    {
        return $this->belongsTo(User::class);
    }
}

用户型号代码:

<?php

namespace App;

use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;

class User extends Authenticatable
{
    use Notifiable;

    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [
        'name', 'email', 'password',
    ];

    /**
     * The attributes that should be hidden for arrays.
     *
     * @var array
     */
    protected $hidden = [
        'password', 'remember_token',
    ];

    public function messages()
    {
         return $this-> hasMany(Message::class);
    }
}

快照

【问题讨论】:

    标签: laravel model routes laravel-5.4


    【解决方案1】:

    messages 表必须有 user_id 和正确的用户 ID,才能使 belongsTo 关系正常工作。

    https://laravel.com/docs/5.5/eloquent-relationships#one-to-many-inverse

    【讨论】:

      猜你喜欢
      • 2013-08-11
      • 2021-12-14
      • 1970-01-01
      • 2020-06-11
      • 1970-01-01
      • 2018-12-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多