2
私は、Laravelでデータベース情報を使用してクラスを作成するたびに、テーブル名が複数でなければならないことに気付きました。どうしてこれなの?Laravelでテーブル名が複数である必要があるのはなぜですか?
私は、Laravelでデータベース情報を使用してクラスを作成するたびに、テーブル名が複数でなければならないことに気付きました。どうしてこれなの?Laravelでテーブル名が複数である必要があるのはなぜですか?
これらは複数である必要はありません。簡単にするために、デフォルトでは、モデルUser
をお持ちの場合、データベーステーブルはusers
になるとEloquentは仮定しています。ただし、テーブルに別の名前を付ける場合は、table
プロパティを定義して、モデルにカスタムテーブルを指定することができます。例の場合:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
protected $table = 'user';
...
}
これはモデルUser
での作業時にデータベース上のテーブルuser
を使用するように雄弁を教えてくれます。
要件があるかどうかはわかりませんが、理にかなっています。あなたは 'post'のデータベースを持っていません。' posts'のデータベースです。または、 'user'のデータベース、多くの' users'があります。 – Karl
私はそれが理にかなっています。しかし、ラーベルでは、テーブル名が複数でない限り、コードとテーブルの間のリンクを作ることはできません。 –
あなたが会社を持っているならば、これを続行するだけで、複数の企業が企業になります。このようなことは、ヘルパー関数 'str_plural'とよく似ています。 - https://laravel.com/docs/5.1/helpers#method-str-plural – Karl