2016-05-31 11 views
2

私は、Laravelでデータベース情報を使用してクラスを作成するたびに、テーブル名が複数でなければならないことに気付きました。どうしてこれなの?Laravelでテーブル名が複数である必要があるのはなぜですか?

+0

要件があるかどうかはわかりませんが、理にかなっています。あなたは 'post'のデータベースを持っていません。' posts'のデータベースです。または、 'user'のデータベース、多くの' users'があります。 – Karl

+0

私はそれが理にかなっています。しかし、ラーベルでは、テーブル名が複数でない限り、コードとテーブルの間のリンクを作ることはできません。 –

+0

あなたが会社を持っているならば、これを続行するだけで、複数の企業が企業になります。このようなことは、ヘルパー関数 'str_plural'とよく似ています。 - https://laravel.com/docs/5.1/helpers#method-str-plural – Karl

答えて

7

これらは複数である必要はありません。簡単にするために、デフォルトでは、モデルUserをお持ちの場合、データベーステーブルはusersになるとEloquentは仮定しています。ただし、テーブルに別の名前を付ける場合は、tableプロパティを定義して、モデルにカスタムテーブルを指定することができます。例の場合:

<?php 

namespace App; 

use Illuminate\Database\Eloquent\Model; 

class User extends Model 
{ 
    protected $table = 'user'; 

    ... 
} 

これはモデルUserでの作業時にデータベース上のテーブルuserを使用するように雄弁を教えてくれます。

関連する問題