sql >> データベース >  >> RDS >> Mysql

LaravelhasManyおよびbelongsToパラメーター

    構文を単純化するために、return $this->hasMany('App\Comment', 'foreign_key', 'local_key');を考えてみてください。 次のようなパラメータ:

    1. リンクするモデル
    2. idにリンクしている外部テーブル(リンク先のテーブル)の列 現在のテーブルの列(3番目のパラメーターを指定している場合を除き、その場合はそれを使用します)
    3. 使用する必要がある現在のテーブルの列-つまり、他のテーブルの外部キーをidにリンクさせたくない場合 現在のテーブルの列

    あなたの状況では、store_idを使用したためです libraries内 テーブル、あなたはあなた自身のために人生を楽にしました。 Storeで定義すると、以下が完全に機能するはずです。 モデル:

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

    舞台裏では、Laravelは自動的にidをリンクします Storeの列 store_idへのテーブル Libraryの列 テーブル。

    明示的に定義したい場合は、次のようにします。

    public function libraries(){
        return $this->hasMany('App\Library', 'store_id','id');
    }
    
    • モデルの標準では、単数形の関数はbelongsToを返し、複数形の関数はhasManyを返します(つまり、$store->libraries() or $library->store()


    1. SQLskills待機タイプライブラリにSentryOneデータが表示されるようになりました

    2. 更新されたAzureSQLデータベース層オプション

    3. MySQLでUNIONを使用したときに結果がどのテーブルから来たかを知る方法

    4. phpseclibライブラリを使用してmysqlデータベースに接続します