я пытаюсь получить userName из таблицы пользователей и productName из таблицы продуктов в моем файле ProductReview.php, но возвращается ноль
ProductReview.php
class ProductReview extends Model
{
protected $table = 'product_review';
protected $fillable = ['review_id','user_id','order_id','product_id','region','vendor','verified_order',
'star_rating','date_of_review','review_title','review_message','published',
'relevance','order_id','order_item_id','order_type','order_number','source_of_review',
'created_at','updated_at','published_by'];
public function pName(){
return $this->hasOne('App\Models\Product','product_id');
}
public function uName(){
return $this->hasOne('App\Models\User','id');
}
Function getAllAdminReviews($data){
$reviews = ProductReview::select('product_review.*,'product_id','user_id')
->with(['pName' => function($pr){
$pr->select('product_name');
},
'uName' => function($un){
$un->select('user_name');
}
]);
return $reviews;
}
}
Product.php
public function pName(){
return $this->belongsTo('App\Models\ProductReview','product_id');
}
User.php
public function uName(){
return $this->belongsTo('App\Models\ProductReview','id');
}
вывод: product_id: 586, user_id: 123pName: null uName: ноль, остальные вещи печатаются нормально
отношения
Продукты (product_id, product_name), Пользователи (id, user_name), product_reviews (review_id, product_id, user_id, review_message)
, поэтому мне нужно получить только имя_пользователя из таблицы «Пользователи» и имя_продукта из таблицы «Продукты» на основе идентификаторов таблицы product_reviews (user_id, product_id), но она дает значение null. Надеюсь, мой вопрос ясен