gpt4 book ai didi

php - Laravel:更改函数名称时 belongsTo 不起作用

转载 作者:可可西里 更新时间:2023-10-31 22:10:54 24 4
gpt4 key购买 nike

我有这个关系 Artist - has many - Album

艺术家类:

<?php namespace App;

use Illuminate\Database\Eloquent\Model;

class Artist extends Model {

public function albums()
{
return $this->hasMany('App\Album');
}

}

专辑类别:

<?php namespace App;

use Illuminate\Database\Eloquent\Model;

class Album extends Model {

public function artist()
{
return $this->belongsTo('App/Artist');
}

}

如果我这样做:$album->artist 完全没有问题

但是如果我在 Album 类中更改函数名称而不更改模型/类名称:

public function artistInfo()
{
return $this->belongsTo('App\Artist');
}

那么,这将不起作用:$album->artistInfo。它为我返回 null

附言这不是我的真实模式,但只有在我更改 belongsTo 的函数名称时才会出现问题。

最佳答案

好吧,我找到了正确的答案,事实证明这是一个简单的答案。

在关系函数中指定键(外键和本地键)。对于这个例子:

<?php namespace App;

use Illuminate\Database\Eloquent\Model;

class Album extends Model {

public function artistInfo()
{
return $this->belongsTo('App/Artist','artist_id','id');
}

}

现在您可以照常进行:$artist->artistInfoAlbum::find(1)->artistInfo->name

关于php - Laravel:更改函数名称时 belongsTo 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29501750/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com