1

カスタム PK と FK を使用しているプロジェクトに参加しており、1 対 1 の関係を設定しようとしています。

たとえば、Employee.php では次のようになります。

public function title()
{
    return $this->hasOne('App\Title', 'TitleID');
}

Tinker では、次のように従業員の TitleID を取得できます。

$employee = Employee::first();
$employee->TitleID;

どちらが返されますか:

「6」

モデルを作成しました: Title.php:

class Title extends Model
{
    protected $table = "dbo.title";

    protected $primaryKey = 'TitleID';

}

$title = Title::all();Tinker で実行すると、このモデルの内容を正しく取得できます。

Employee.php で新しい関係を設定しました。

public function title()
{
    return $this->hasOne('App\Title', 'TitleID');
}

ただし、実行するとTinker(再起動しました)で:

$employee = Employee::first();
$employee->title()->get();

戻り値:

Illuminate\Database\Eloquent\Collection {#3027 all: [], }

この関係を誤って設定するために何をしましたか?

4

2 に答える 2