,我有以下hasMany()
关系App\User.php
,显示数组值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”=>空 ] ] 我怎样才能得到每个职业编号的名字分别为 – Rose
我明白了。这意味着你在'occupation_id'和'occup'表之间没有关系。你应该从模型中创建这个关系开始。 –
但是我在应用程序\用户 中写了下面的代码public function partner_preference_occupation() { return $ this-> hasMany('App \ Models \ User \ PartnerPreferenceOccupation','user_id'); } 并在我的模型中定义了如下关系: public function occupation_name(){ return $ this-> belongsTo('App \ Models \ Master \ OccupationModel','occupation_id'); } – Rose