显示来自两个不同列的数据的问题

时间:2019-07-29 01:57:31

标签: php mysql slim entity-relationship

我只想在SQL Server前端显示2条信息,并带有一个ManyToOne替换关系。

我不知道如何将信息从1个实体发送到前端的另一个实体。

实体1 这个实体有关系,我会提供一些路线信息,请参见下文。

<?php
namespace App;

class EmprestadoEntity
{
    public $id_emp;
    public $id_produto;
    public $nome_emp;
    public $tel_emp;
    public $data;

    public function __construct(array $data) {

        if(isset($data['id_emp'])) {
            $this->id_emp = $data['id_emp'];
        }

        if(isset($data['id_produto'])) {
            $this->id_produto = $data['id_produto'];
        }

        $this->nome_emp = $data['nome_emp'];
        $this->tel_emp = $data['tel_emp'];
        $this->data = $data['data'];
    }

    public function getId_emp() {
        return $this->id_emp;
    }

    public function getid_produto() {
        return $this->hasOne(ProdutosEntity::class, 'id_produto', 'id');
    }

    public function getnome_emp() {
        return $this->nome_emp;
    }
    public function gettel_emp() {
        return $this->tel_emp;
    }
    public function getdata() {
        return $this->data;
    }
}

实体2

<?php
namespace App;

class ProdutosEntity
{
    protected $id;
    protected $prod_nome;
    protected $prod_desc;
    protected $prod_quant;

    public function __construct(array $data) {

        if(isset($data['id'])) {
            $this->id = $data['id'];
        }

        $this->prod_nome = $data['prod_nome'];
        $this->prod_desc = $data['prod_desc'];
        $this->prod_quant = $data['prod_quant'];
    }

    public function getId() {
        return $this->id;
    }

    public function getNome() {
        return $this->prod_nome;
    }
    public function getDesc() {
        return $this->prod_desc;
    }
    public function getQuant() {
        return $this->prod_quant;
    }
}

我取得了一些信息,并将其传递给我的.phtml,但我想在前端显示。这是我另一个实体中的信息。

    public function getNome() {
        return $this->prod_nome;
    }

我想在我的末尾显示的信息……来自emprestadoMapper的信息。

<?php
namespace App;

class EmprestadoMapper
{

    public $view;
    public $router;
    public $pdo;
    public $fieldsEmp;

    // Class constructor with view, router, PDO object and column array
    public function __construct($view, $router, $pdo, $fieldsEmp)
    {
        $this->view = $view;
        $this->router = $router;
        $this->pdo = $pdo;
        $this->fieldsEmp = $fieldsEmp;
    }

    public function getEmprestados($request, $response) {

        $statement = $this->pdo->prepare('select * from produto inner join emprestimo ON emprestimo.id_produto = produto.id;');
        $statement->execute();
        $results = [];
        while($row = $statement->fetch()) {
            $results[] = new EmprestadoEntity($row);
        }

$response = $this->view->render($response, "emprestados.phtml", ["emprestimo" => $results, "router" => $this->router]);
        return $response;
    }
 }

这是最终的代码,我从Mapper中获取信息并将其显示在表中,但由于$ data ['emprestimo']中的isnt而无法显示getNome

<?php include ('header.php'); ?>
        <h1>Todos os Produtos Emprestados</h1>
    </div>

    <?php
        if($data['emprestimo'] && is_array($data['emprestimo'])): 
    ?>

    <div class="panel panel-default">
        <div class="panel-heading">Visualizar todos os Produtos Emprestados</div>
        <table class="table table-hover table-striped">
            <thead>
                <tr>
                    <th>Nome Produto</th>
                    <th>Emprestado</th>
                    <th>Telefone</th>
                </tr>
            </thead>

            <tbody>
            <?php foreach($data['emprestimo'] as $emprestado) : ?>

                <tr>
                    <td><?=$emprestado->getNome() ?></td>
                    <td><?=$emprestado->getnome_emp() ?></td>
                    <td><?=$emprestado->gettel_emp() ?></td>
                </tr>
            <?php endforeach; ?>
            </tbody>

        </table>
    </div>

    <?php else: ?>
        <div class="alert alert-danger" role="alert">Não ha Produtos Emprestados</div>
    <?php endif; ?>
<?php include ('footer.php'); ?>

我从不这样做,这就是为什么我不能和我尝试搜索某些相似但我确实找到的东西的原因。

0 个答案:

没有答案