Laravel: активная загрузка для отношения hasOne возвращает только одну несвязанную строку, которая является первой строкой в ​​таблице

Laravel: активная загрузка для отношения hasOne возвращает только одну несвязанную строку, которая является первой строкой в ​​связанной таблице, а все остальные объекты имеют нулевое значение в связанном поле.

    //VehicleManufacturer class
class VehicleManufacturer extends Model
{

public function description()
{
return $this->hasOne('App\DescriptionField','id');

}
public function brands()
{
return $this->hasMany('App\VehicleBrand');
}
}
//DescriptionField class
class DescriptionField extends Model
{
public function vehicleManufacturer()
{
return $this->belongsTo('App\VehicleManufacturer');
}

protected $fillable = ['ar','en','fr','nl'];
}
// and this code to get vehicleManufacturers
$manufacturers=VehicleManufacturer::with(['description'])
->take($request->input("length"))
->skip($request->input("start"))
->get();
var_dump($manufacturers->toArray());

И результат:

array(2) { [0]=> array(5) { ["id"]=> int(1) ["created_at"]=> string(19) "2016-09-04 23:15:01" ["updated_at"]=> string(19) "2016-09-04 23:15:18" ["description_field_id"]=> int(48) ["description"]=> array(7) { ["id"]=> int(1) ["ar"]=> string(7) "ddddddd" ["en"]=> string(4) "dddd" ["fr"]=> string(2) "dd" ["nl"]=> string(10) "dddddddddd" ["created_at"]=> string(19) "2016-09-04 23:05:39" ["updated_at"]=> string(19) "2016-09-05 23:45:12" } } [1]=> array(5) { ["id"]=> int(2) ["created_at"]=> string(19) "2016-09-04 23:15:34" ["updated_at"]=> string(19) "2016-09-04 23:15:34" ["description_field_id"]=> int(47) ["description"]=> NULL } }

Чтобы объяснить проблему подробнее:

Моя проблема в том, что запрос возвращает только одну несвязанную строку в описании свойства для первого объекта VehicleManufacturer, а для второго объекта VehicleManufacturer свойство описания имеет значение null.
несвязанный означает, что возвращается другой объект DescriptionField … не тот, который связан с объектом VehicleManufacturer.

обратите внимание, что в первом объекте VehicleManufacturer значение description_field_id равно 48, но свойство description содержит объект DescriptionField с идентификатором 1. И для второго возвращенного объекта VehicleManufacturer значение description_field_id равно 47, а свойство description содержит ноль.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]