У меня есть две таблицы, элементы и пользователи. У Пользователя может быть несколько Предметов, а Предмет может принадлежать одному Пользователю.
Мои две таблицы имеют много полей, но связаны:
Item
----
ownerID
User
----
id
Это поля, которые связывают две таблицы вместе, и они установлены в моей базе данных с помощью внешнего ключа.
Вот укороченная версия двух моделей:
class Item extends Eloquent {
public function owner()
{
return $this->belongsTo('User','id');
}
}
class User extends Eloquent implements UserInterface, RemindableInterface {
public function items()
{
return $this->hasMany('Item', 'ownerID');
}
}
Итак, я хочу получить все свои предметы и нетерпеливо загрузить владельца. Это мой код в моем контроллере:
class ItemsController extends BaseController {
public function all(){
$items = Item::with('owner')->get();
return $items;
}
}
(Я возвращаю $items
, чтобы я мог отладить вывод)
Тем не менее, это то, что я получаю в качестве вывода:
[
{
"active":"1",
"categoryID":"1",
"created_at":"0000-00-00 00:00:00",
"description":"Just a test item",
"endDate":"2014-03-01 21:46:07",
"id":"32",
"name":"Test Item",
"owner":null,
"ownerID":"1",
"section":"0",
"updated_at":"0000-00-00 00:00:00"
}
]
Я не понимаю, почему владелец равен нулю? В моей базе данных существует идентификатор пользователя 1, так почему он нулевой?