У меня есть некоторые модели, относящиеся к Activity Model.laravel 4 hasOne/hasMany/принадлежитTo не работает
в моем Activity.php я имел
<?php
class Activity extends \Eloquent {
protected $fillable = [];
public function activity_car_nums()
{
return $this->hasMany('ActivityCarNum');
}
public function newables()
{
return $this->hasMany('Newable');
}
public function serial_codes()
{
return $this->hasMany('SerialCode');
}
public function applys()
{
return $this->hasMany('Apply');
}
}
и SerialCode.php, я имел
<?php
class SerialCode extends \Eloquent {
protected $fillable = ['code'];
public function activity()
{
return $this->belongsTo('Activity');
}
}
и в мой контроллер, когда я писал
$serial_codes = [];
while(count($serial_codes) < $serial_code_total)
{
$code = substr(md5(uniqid(rand(), true)),0,5);
$serial_code = new SerialCode(['code' => $code]);
if(!in_array($serial_code, $serial_codes))
{
$serial_codes[] = $serial_code;
}
}
$activity->serial_codes()->saveMany($serial_codes);
это работает ,
Но когда он поворачивается к
//this can get activity object
$activity = Activity::find($id);
//this can get the serial codes of the object above.
$serial_codes = SerialCode::whereActivityId($id)->get();
//this don't work, it returns null
$serial_codes = $activity->serial_codes;
ибо я действительно не знаю, почему ...
Может кто-нибудь помочь мне, пожалуйста, и простите за мой плохой английский. Спасибо. (если вам нужен какой-либо код еще скажите, пожалуйста.)
У меня есть другие 2 Модели, которые ассоциируются как hasOne и относятся к отношениям, и я не могу получить что-либо через orm-запрос, даже если есть данные внутри. –
Можете ли вы опубликовать модели SerialCode и Activity? – Laerte
@ Laerte Я обновил свой вопрос :) –