我有3個表用戶,配置文件和朋友。PHP Laravel 5.2屬於
顯然,用戶包含用戶。 然後我得到了配置文件和朋友表(見下文)。
public function up()
{
Schema::create('profiles', function (Blueprint $table) {
$table->increments('id');
$table->integer('user_id')->unsigned();
$table->foreign('user_id')->references('id')->on('users');
$table->string('picture')->nullable();
$table->string('status')->nullable();
$table->string('text')->nullable();
$table->boolean('show_sex');
$table->boolean('show_dob');
$table->timestamps();
});
}
public function up()
{
Schema::create('friends', function (Blueprint $table) {
$table->increments('id');
$table->integer('user_id_sender')->unsigned();
$table->integer('user_id_receiver')->unsigned();
$table->foreign('user_id_sender')->references('id')->on('users');
$table->foreign('user_id_receiver')->references('id')->on('users');
$table->integer('status'); // 1 = friends, 2 = under validation
$table->timestamps();
});
}
正如您所看到的,我創建了一些與Users表相關的外鍵。
Friends表格包含用戶之間的所有友誼(狀態字段將確定友誼是否處於驗證或驗證狀態)。 我有Laravel 5.2自帶的默認用戶模型,並且想知道如何輕鬆地獲得屬於簽名用戶的所有友誼? 我可以使用類似belongsTo()
之類的東西來輕鬆地獲取user_id_receiver字段與簽名用戶標識相同的所有friendrequests嗎?我沒有安靜地理解hasOne或belongsTo的文檔。如果有人能夠清楚它的實際工作方式,那該多好。
在此先感謝。
我最好的建議是在你直接去編碼並詢問Laravel之前,當你知道它會使你的代碼邏輯更容易時,嘗試設計你的數據庫表(ER-設計)。 –