我試圖通過user_id從數據庫中檢索數據。我的視圖顯示這個錯誤:嘗試獲取非對象的屬性。 dd()返回null。dd()當我嘗試按用戶ID查找數據時返回空值
這是我的控制器:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\User;
use App\Complain;
use App\Feedback;
use App\Item;
use Illuminate\Support\Facades\Redirect;
use Session;
use Auth;
class ProfileController extends Controller
{
public function profile($id){
$complain = Complain::find($id);
dd($complain);
return view('user.profile')->with(['complains' => User::find($id)->complains]);
}
}
這是我的用戶模型:
<?php
namespace App;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Database\Eloquent\Model;
class User extends Authenticatable
{
use Notifiable;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name', 'surname', 'regnumber', 'course', 'department', 'email', 'password',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
public function complains()
{
return $this->hasMany('App\Complain');
}
}
這是我投訴模型。
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Complain extends Model
{
protected $fillable = [
'user_id', 'title', 'body', 'name', 'regnumber'
];
public function user(){
return $this->belongsTo('App\User');
}
}
這是我的看法:
@foreach($complains as $complain)
<div>
<h3 class="operator-complain-title">Title: </h3>
<p>{{ $complain->title }}</p>
<h3 class="operator-complain-title">Complain:</h3>
<p>{{ $complain->body }}</p>
</div>
<hr>
@endforeach
的user_id是一個外鍵。如何成功顯示基於user_id的投訴(數據)?
這是我的用戶表:
id | name | email | password
7 John email password
這是我的抱怨表:
id | user_id | title | body
5 7 complain 1 Complain 1
任何人只要有想法,請分享。
$抱怨=抱怨::在哪裏( 'USER_ID',$ ID) - >獲得(); – kfx9