簡體   English   中英

如何在php中創建一對多關系

[英]How to create One to Many Relationship in php

我以前在laravel工作過。 所以最近我搬到了核心php,所以我正在嘗試一對多的關系。但是它總是返回單獨的記錄。 我有下表

作者

id | username | created_by | updated_by

圖書

id | author_id | book_name | book_image |

詢問

select * from authors left join books  on author.id=books.author_id

我正在尋找這樣的結果

Array
(
    [0] => Array
        (
            [id] => 1
            [name] => Norm

            [books] => Array
                (
                  [0] =>Array
                    (
                    [id] => 4
                    [book_name] => great wall
                    [created_at] => 2015-09-11 04:45:07
                    [updated_at] => 2015-09-11 04:45:07
                    )

                    [1] =>Array
                    (
                    [id] => 6
                    [book_name] =>new book
                    [created_at] => 2015-09-11 04:45:07
                    [updated_at] => 2015-09-11 04:45:07
                    )
                )
        )
    [1] => Array
        (
            [id] => 2
            [name] => Norm

            [books] => Array
                (
                  [0] =>Array
                    (
                    [id] => 2
                    [book_name] => amazing star
                    [created_at] => 2015-09-11 04:45:07
                    [updated_at] => 2015-09-11 04:45:07
                    )

                    [1] =>Array
                    (
                    [id] => 3
                    [book_name] =>way of journy
                    [created_at] => 2015-09-11 04:45:07
                    [updated_at] => 2015-09-11 04:45:07
                    )
                )

        )


but in core php i am getting  ouput


Array
(
    [0] => Array
        (
            [id] => 1
            [username] => david
            [created_by] => 
            [user_id] => 1
            [books] => book1
        )

    [1] => Array
        (
            [id] => 2
            [username] => david
            [created_by] => 
            [user_id] => 1
            [books] => book2
        )

    [2] => Array
        (
            [id] => 3
            [username] => david
            [created_by] => 
            [user_id] => 1
            [books] => book3
        )


    [3] => Array
        (
            [id] => 5
            [username] => miller
            [created_by] => 
            [user_id] => 2
            [books] => new1
        )

    [4] => Array
        (
            [id] => 6
            [username] => miller
            [created_by] => 
            [user_id] => 2
            [books] => new2
        )

)

所以我想用很多本書來顯示作者的名字。有誰能幫助我,我怎么能做到這一點

class Author extends Model
{
    /**
     * Get the books for the author.
     */
    public function books()
    {
        return $this->hasMany('App\Book');
    }
}

...

class Book extends Model
{
    /**
     * Get the atuhor that owns the book.
     */
    public function post()
    {
        return $this->belongsTo('App\Author');
    }
}

-Laravel文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM