与cakePhp重复输入

时间:2019-04-24 15:05:10

标签: cakephp orm duplicates cakephp-3.x

我试图通过在名称中添加_copy来应用数据,当然还要添加新的ID,但是我一点都不是蛋糕PHP的专家,也不知道从哪里开始。这是我的看法: 我在控制器中添加带有路由的按钮“ duplicate”

<td>
            <?php echo $this->Html->link(
                'Dupliquer',
                array(
                    'controller' => 'contracts',
                    'action' => 'duplicate',
                    $contract['Contract']['id']
                ),
                array(
                    'class' => 'btn btn-default btn-sm'
                )
            ); ?>
        </td>

我在控制器中调用的函数:

public function duplicate($id = null) {
        if (!$id)
        {
            throw new NotFoundException(__('Identifiant invalide'));
        }

        $contract = $this->Contract->find('first', [
            'conditions' => [
                'Contract.id' => $id
            ]
        ]);

        if (!$this->Contract->HasAny(['Contract.id' => $id])) {
            throw new NotFoundException(__('Le contrat n\'a pas pu être trouvé'));
        }

        $data = [
            'name' => $contract['Contract']['name']. '_copy',
        ];

        return $this->redirect('edit');
    }

在我的函数中,我检索要复制的信息,而在这里,我停留在记录级别。您是否有办法清洁它?

谢谢。

1 个答案:

答案 0 :(得分:0)

更改:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <LinearLayout
        android:id="@+id/Prof_Section"
        android:layout_width="match_parent"
        android:layout_height="176dp"
        android:layout_marginLeft="20dp"
        android:layout_marginTop="50dp"
        android:orientation="horizontal">

        <ImageView
            android:id="@+id/prof_pic"
            android:layout_width="113dp"
            android:layout_height="match_parent"
            android:src="@drawable/myalpha"/>

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="20dp"
            android:layout_marginTop="20dp"
            android:orientation="vertical">

            <TextView
                android:id="@+id/name"
                android:layout_width="match_parent"
                android:layout_height="37dp"
                android:layout_marginTop="20dp"
                android:gravity="center"
                android:text="Name display here"
                android:textSize="18dp"
                android:textStyle="bold" />

            <TextView
                android:id="@+id/email"
                android:layout_width="match_parent"
                android:layout_height="35dp"
                android:layout_marginTop="10dp"
                android:gravity="center"
                android:text="Email display here"
                android:textSize="12dp"
                android:textStyle="bold" />

            <Button
                android:id="@+id/bn_logout"
                android:layout_width="match_parent"
                android:layout_height="61dp"
                android:text="Logout Google Account" />

        </LinearLayout>


    </LinearLayout>

    <com.google.android.gms.common.SignInButton
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="60dp"
        android:layout_marginRight="50dp"
        android:layout_marginLeft="50dp"
        android:id="@+id/bn_login"
        >

    </com.google.android.gms.common.SignInButton>

</LinearLayout>

收件人:

$contract = $this->Contract->findById($id);

然后:

$contract = $this->Contract->find()->where(['id' => $id])->first();