나는 App\User.php
에서 다음 hasMany()
관계, 표시 배열 값 5.2
public function partner_preference_occupation()
{
return $this-hasMany('App\Models\User\PartnerPreferenceOccupation', 'user_id');
}
다음
내 PartnerPreferenceOccupation 모델이다,<?php
namespace App\Models\User;
use App\Models\BaseModel,
App\Models\ValidationTrait;
class PartnerPreferenceOccupation extends BaseModel {
use ValidationTrait;
public function __construct() {
parent::__construct();
$this->__validationConstruct();
}
/**
* The database table used by the model.
*
* @var string
*/
protected $table = 'partner_preferences_occupation';
protected $fillable = array('user_id', 'occupation_id');
protected $dates = array();
public $uploadPath = array();
protected function setRules() {
$this->val_rules = array();
}
protected function setAttributes() {
$this->val_attributes = array();
}
public function occupation_name() {
return $this->belongsTo('App\Models\Master\OccupationModel', 'occupation_id');
}
}
난에 직업 이름의 배열을 표시 할이 내 전망. 다음 코드를 시도했지만 실패합니다. 다음과 같은 오류가
{{$obj->partner_preference_occupation ? $obj-partner_preference_occupation->occupation_name->name : null}}
,
Undefined property:Illuminate\Database\Eloquent\Collection::$occupation_name
어떻게 사전에 them.Thanks를 표시 할 수 있습니다.
감사 ($를 OBJ> partner_preference_occupation) 나는이 배열처럼 가지고 : 2 [▼ 0 => 배열 : 5 [▼ "ID"= > 36 "user_id"=> 93 "occupation_id"=> 19 "created_at"=> "2017-02-09 12:12:17" "updated_at"=> "2017-02-09 12:12 : 17 " ] 1 => 배열 : 5 ▼ "ID "=> 37 "USER_ID "=> 93 "occupation_id "=> 9 "created_at "=> 널 "updated_at "=> 널 ] ] 각 직업의 ID를 어떻게 얻을 수 있습니까? – Rose
있습니다. 이것은'occupation_id'와'occupation' 테이블 사이에 관계가 없다는 것을 의미합니다. 모델에서이 관계를 만들어야합니다. –
하지만 아래 코드를 내 App \ User에 작성했습니다. public function partner_preference_occupation() { return $ this-> hasMany ('App \ Models \ UserPanferenceOccupation', 'user_id'); } 내 모델에서 다음과 같은 관계를 정의했습니다. public function occupation_name() { return $ this-> belongsTo ('App \ Models \ Master \ OccupationModel', 'occupation_id'); } – Rose