私はCharacterテーブルとAccountテーブルとの関係を作成しようとしていますが、belongsTo()
メソッドを追加すると、Accountのデータは表示されません。belongsTo()関数が動作しません
だからこれは私のキャラクターモデルである:
class Character extends Model
{
//Get players by level
public function scopeGetPlayersByLevel($query){
return $query->orderBy('level', 'desc')->get();
}
//Get players by zulie
public function scopeGetPlayersByZulie($query){
return $query->orderBy('zuly', 'desc')->get();
}
//Get online status
public function account(){
return $this->belongsTo(Account::class, 'username', 'account_name');
}
}
アカウントモデル:
class Account extends Model
{
//Get online players
public function scopeGetOnlinePlayers($query){
return $query->where('online', 1);
}
//Get online staff
public function scopeGetOnlineStaff($query){
return $query->where('online', 1)->where('accesslevel', 350);
}
public function characters(){
return $this->hasMany(Character::class, 'account_name', 'username');
}
}
そして、私はこのように私のコントローラに変数を追加します。
使用のApp \文字。
class RankingController extends Controller
{
function index(){
$players = Character::find(100);
return $players;
}
}
表構造:
accounts:
- username
characters:
- account_name //foreign key
$players
の結果は、文字データだけです。アカウントデータがそれに追加されないのはなぜですか?
実はそれは周りの他の方法ですが。私はキャラクターのアカウントを見つけようとしています –
更新のための私の編集を参照してください – EddyTheDove
ありがとうございます。私は 'return $ character'はアカウントオブジェクトがその中にあることを示していると思いました。それがなぜそうでないのかについての考えはありますか? –