簡體   English   中英

Laravel 5.2雄辯的hasOne關系不起作用

[英]Laravel 5.2 Eloquent hasOne relationship doesn't work

我的聊天模型中有關系

public function user() {
    return $this->hasOne(User::class,'id','writers_id');
}

並想在我的控制器中使用它。 我嘗試了很多方法,但是沒有人起作用。 僅給出最后的嘗試示例(結果-空白頁)。

print_r($chat = Chat::where('id', 1)->first()->user);

誰能幫我? 謝謝! 我不太了解Eloquent以前使用過簡單的數據庫查詢器,但是有人說我應該在模型中處理所有數據庫工作。 這是正確的嗎? 對不起,我的英語不好!

首先是@Vohuman提到的

return $this->hasOne('App\User', 'id', 'writers_id');

使用時:

Chat::where('id', 1)->first()->user()->first()->attribute

在這里查看: https : //laravel.com/docs/master/eloquent-relationships#one-to-one

App\\Chat.php

public function writer()
{
    return $this->hasOne('App\User','id','writers_id');
}

定義關系。 然后在任何控制器中:

在頂部:

use App\User;

在方法內部:

$writer = User::find($user_id)->writer;

要對其進行調試,請在上述行的前面添加一行。

dd($user_id,User::find($user_id),$writer);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM