2014-02-10 5 views
1

Я пытаюсь популярен сводный стол с идами в семени.Посевные и поворотные столы?

$id = DB::table('products')->insertGetId(array(
     array(
      'title' => 'Product A', 
      'published' => 1 
     ) 
    )); 

    DB::table('product_user')->insert(array(
     array(
      'product_id' => $id, 
      'user_id' => '9999999999' 
     ) 
    )); 

Это лучший способ сделать это? Получив идентификатор через insertGetId, а затем положив его в сводную таблицу, есть ли лучший способ?

Также выше способ дает ошибку:

[ErrorException]                
preg_replace(): Parameter mismatch, pattern is a string while replacement i 
s an array 

Я подозреваю $ идентификатор представляет собой массив, как я могу получить InsertGetId вернуть Int?

ответ

1

Ну, вы можете print_r ищите атрибут id, а затем звоните $id->attribute на вторую вставку.

Но ...

"Я сам", я хотел бы использовать красноречив. В основном причина такова: Потому что это тоже чертово чертога FUN. Действительно, Красноречивый это одна из самых красивых вещей, которые я когда-либо видел в мире программирования. Я полагаю, что .NET был основным программным обеспечением (хотя я был молод и наивен, хотя), но как только наткнулся на Laravel/Eloquent, я стал таким AMAZED!

Это, по моему скромному мнению, использование Eloquent - лучший способ сделать это!

Я предполагаю, что у вас есть таблица под названием products, а другая - users, и для установления соединения у вас есть таблица product_user. Используя красноречива, вы можете просто сделать это:

$user = User::find($user_id); 
$product = Product::find($product_id); 

$product->user->attach($user); 

... Я reacomend этого подхода по нескольким причинам, но первый из них: пути более читаемого.

Ну, я надеюсь, что я не слишком увлекаюсь своим ответом и надеюсь, что вы и другие.

+0

Спасибо, как вы вставляете данные с этим примером, а затем получаете его идентификатор, чтобы вы могли с ним найти? – panthro

+0

Вам нужно, чтобы пользователь и пользователь уже вставили его. Вы можете сделать это, объявив новый объект модели продукта/пользователя. '$ product = new Product;', поместите данные в него, сохраните его с помощью '$ product-> save()' e, а затем выберем '$ product-> id'. То же самое относится к 'user'. –

+0

Спасибо, но как изначально спросил, как это будет работать с семенами? – panthro

Смежные вопросы