Idiorm/Paris-访问连接表';s列


Idiorm/Paris - Access to junction table's columns

我的新项目使用Paris。。。

假设我有3张表:用户、书籍和借阅:

users:id/name

书籍:id/title

借用:users_id/books_id/bororow_date/return_date


图书类:

function users()
{
    return $this->has_many_through('Users', 'Borrows');
}

在用户类中:

function books()
{
    return $this->has_many_through('User', 'Borrows');
}

一切都很好,我可以访问每个用户的借阅书籍和以前借阅过一本书的用户列表,但我想知道如何访问Borrows表/类的borrow_datereturn_date列/属性?

你可以使用Idiorm(巴黎兄弟)来完成。

User型号:

<?php
class User extends Model {
    public static $_table = 'Users';
    public static $_id_column = 'id';
    function books()
    {
        return $this->has_many_through('User', 'Borrow');
    }
    public static function findBooksAndBorrows($id) {
        return ORM::for_table('Users')
            ->join('Borrows', array('Users.id', '=', 'Borrows.users_id'))
            ->join('Books', array('Borrows.books_id', '=', 'Books.id'));
    } 
}

在您的代码中:

$booksAndBorrows = User::findBooksAndBorrows(1)->find_array();
echo json_encode($booksAndBorrows);