У меня есть модель Item
с HAS-много relationsship с points
, как это:Laravel, вставив один-ко-многим с красноречивым
public function points() {
return $this->has_many('Point');
}
Затем в мой контроллер я хочу установить некоторые данные, когда пользователь отправляет Item
. Так что я делаю это так:
$item = new Item;
$item->author = $author;
$item->description = '';
$item->link = $link;
$item->source = $url['host'];
$item->title = $title;
$item->url_encoded = $url;
$item->save();
$points = array(
array('ip' => $ip)
);
$item->points()->save($points);
Однако это дает мне ошибку, которую я, кажется, чтобы получить каждый раз я пытаюсь сохранить Point
, который:
Array to string conversion
Что я могу сделать, чтобы вставить свою Point
с собственностью item_id
правильно?
Я не использую 3, но если это то же самое, что я думаю, что вам нужно делать экземпляр? '$ item-> points() -> save (новая точка ($ points));'? – Robbo
@ Robbo да Я пробовал это во-первых, я использую пример http://laravel.com/docs/database/eloquent#inserting-related-models, который, как ни странно, не работает. Получение того же сообщения об ошибке, если я создаю новый экземпляр. – Ms01
Существует другой способ, который вы можете использовать. Сделайте элемент тем же, но когда дело доходит до точки, вы можете сделать '$ point = new Point (['ip' => $ ip]);' и затем '$ point-> save();' после чего вы присоедините точка к элементу с помощью '$ item-> points() -> attach ($ point-> id)'. Примечание. Я написал это из памяти, и это может быть неправильно ... – Robbo