【问题标题】:How to create One to Many Relationship in php如何在php中创建一对多关系
【发布时间】:2015-11-16 03:59:25
【问题描述】:

我以前在 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
        )

)

所以我想在很多书上显示作者姓名。谁能帮助我,我怎么能做到这一点

【问题讨论】:

    标签: php mysql sql


    【解决方案1】:
    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 Documentation

    【讨论】:

    • 嗨,我正在寻找核心 php 查询而不是 laravel。
    • core php 是什么意思?带有 PDO 的简单 PHP?
    • @Krenor.yes 简单的 php .
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-11
    • 2021-03-12
    • 2021-06-27
    相关资源
    最近更新 更多