php - Laravel Nova BelongsTo 在关系方法名称和外键前缀不同时不起作用

标签 php laravel laravel-nova

当关系方法名称和外键前缀不同时,属于在我的 Nova 应用程序中不起作用的关系。

我有两个表, event & client_location 和 Models Event & ClientLocation

事件模型:

class Event extends Model
{
   public function clientLocation()
   {
       return $this->belongsTo(\App\ClientLocation::class, 'location_id');
   }
}

客户端位置模型:
class ClientLocation extends Model
{
   public function events()
   {
       return $this->hasMany(\App\Event::class, 'location_id');
   }
}

事件的 Nova 资源字段方法:
public function fields(Request $request)
{
    return [
        ID::make()->sortable(),
        BelongsTo::make('clientLocation'),
    ];
}

关于如何处理这个问题的任何想法?

最佳答案

BelongsTo::make() 可以接受 3 个参数。

他们是:

  • 显示
  • 的名称
  • 关系名称
  • 新星资源

  • 在您的特定情况下,这应该有效
    BelongsTo('Events', 'clientLocation', App\Nova\ClientLocation::class)
    

    关于php - Laravel Nova BelongsTo 在关系方法名称和外键前缀不同时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53202645/

    相关文章:

    php - Twitter Search API 多个哈希标签或用户

    php - PHP 中无法访问的语句

    php - Docker docker-compose.yml 卷问题

    authentication - 在 Laravel 中验证用户角色并保护路由

    Laravel nova - 使用 Action 允许多次下载

    java - php以JSON形式回显多维数组

    javascript - Laravel 分页将问题与设计联系起来

    php - JSON 响应中的 boolean 值在生产服务器上转换为字符串

    laravel - 如何在不从 Nova 资源列表/索引中选择任何记录的情况下显示 Laravel Nova 操作?

    php - Laravel Nova,找不到路线