【问题标题】:withTrashed() doesn't work on serverwithTrashed() 在服务器上不起作用
【发布时间】:2017-09-19 14:19:29
【问题描述】:

我正在对我的模型使用软删除,在某些情况下我会通过这样的关系查询已删除的模型

public function team()
{
    return $this->belongsTo(Team::class)->withTrashed();
}

问题是在我的本地环境(laravel 宅基地)上一切都很好,但是这种关系在托管时返回 null。

当我尝试调试 SQL 查询时,本地版本如下所示

select * from `teams` where `teams`.`id` in (?, ?, ?, ?, ?, ?, ?, ?, ?, 
?, ?, ?, ?)

服务器版本是这样的

select * 
from `teams` 
where `teams`.`id` in (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) 
  and `teams`.`deleted_at` is null

【问题讨论】:

  • 什么是“托管”?确保服务器上的代码实际上是您认为的那样。你有不同的配置文件吗?
  • "hosting" 是hostinguk.net 上的开发服务器,本地和主机上的代码相同。认为配置不是问题,因为我实际上有不同的数据库查询
  • 在这种情况下,您需要与您的托管服务提供商联系。在不知道您的本地环境和托管环境之间有什么不同的情况下,任何人都无法复制问题或提供解决方案。
  • 是的,本地和服务器上有不同的文件版本 - 谢谢老兄
  • 太棒了。考虑删除您的问题 =]

标签: laravel eloquent laravel-5.2 soft-delete


【解决方案1】:

检查您的模型是否准确

use Illuminate\Database\Eloquent\SoftDeletes;

在你的课堂上

use SoftDeletes;

我遇到了类似的问题,错误是小写的

【讨论】:

    猜你喜欢
    • 2012-09-03
    • 2015-11-24
    • 1970-01-01
    • 2017-05-17
    • 2015-02-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多