php - Call to a member function tags() on null 多对多关联无关联数据时报错
迷茫
迷茫 2017-04-11 09:11:22
[PHP讨论组]
class Locksmith extends ApiModel
{
    /**
     * @var string
     */
    protected $table = 'locksmith';

    /**
     * @var string
     */
    protected $primaryKey = 'locksmith_id';

    /**
     * 表明模型是否应该被打上时间戳
     *
     * @var bool
     */
    public $timestamps = false;

    /**
     * 关联查找用户档案信息
     * @return \Illuminate\Database\Eloquent\Relations\BelongsTo
     */
    public function archive()
    {
        return $this->belongsTo('App\Models\Archive', 'user_id', 'archive_id');
    }

    /**
     * 多对多查找评价标签.
     *
     * @return \Illuminate\Database\Eloquent\Relations\BelongsToMany
     */
    public function tags()
    {
        return $this->belongsToMany('App\Models\EvaluateTag', 'evaluate_tag_master', 'master_id', 'tag_id')->withPivot('count');
    }

}

在调用时$tag = Locksmith::find($locksmithId)->tags()->get()->toArray();会报:Call to a member function tags() on null

public function tags()是一个多对多的关联 当关联表evaluate_tag_master有数据时不会报错
这个怎么办啊?

本地服务器上不报错 服务器上要报错 框架都是更新到最新的了环境一样。

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(2)
伊谢尔伦

原因是 关联多对多的主键问题错误产生的。

伊谢尔伦

这个错误的原因是Locksmith::find($locksmithId)没有查询到结果,返回了null造成的。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号