ich diese yii2 App gebaut haben, wo ich ein Modell Kunden und eine weitere namens Auftrag, wo customer_id ist der Fremdschlüssel in Auftrag benannt haben.Yii2 Get Value von Verwandte Modell
Ich habe eine Aktion mit dem Namen Sendemail erstellt, die im Bestellen Indexseite verwendet wird, und ich brauche die E-Mail zu erhalten, die der Auftrag nach dem customer_id gesendet wird.
Wie kann ich die E-Mail für die aktuellen Bestellen nach den Kunden?
Kunden Modell:
<?php
namespace app\models;
use Yii;
class Customer extends \yii\db\ActiveRecord
{
/**
* @inheritdoc
*/
public static function tableName()
{
return 'customer';
}
public function rules()
{
return [
[['Name'], 'required'],
[['Archive', 'Credit'], 'integer'],
[['Address'], 'string'],
[['Name', 'Email'], 'string', 'max' => 50],
[['Tel'], 'string', 'max' => 14],
[['Category'], 'string', 'max' => 25],
];
}
/**
* @inheritdoc
*/
public function attributeLabels()
{
return [
'Id' => 'ID',
'Name' => 'Name',
'Tel' => 'Tel',
'Email' => 'Email',
'Archive' => 'Archive',
'Credit' => 'Credit',
'Address' => 'Address',
'Category' => 'Category'
];
}
/**
* @return \yii\db\ActiveQuery
*/
public function getOrders()
{
return $this->hasMany(Order::className(), ['Customer_Id' => 'Id']);
}
}
Und hier ist die Aktion in der Steuerung:
public function actionSendEmail($id)
{
//Here I should get the email according to the customer_id
if ($model->load(Yii::$app->request->post()))
{
$value= Yii::$app->mailer->compose()
->setFrom (['[email protected]'=>'Smth'])
->setTo ($model->Email)
->setSubject ("Price Offer")
->setHtmlBody ("Test")
->send();
$model->save();
return $this->redirect(['view','id'=>$model->id]);}
else
return $this -> render('create',['model'=>$model,]);
}
Haben Sie die Beziehung zwischen zwei Modellen in Yii 2 definiert? – Bizley
Ja, das habe ich definitiv getan. –
Also, was ist genau das Problem hier? Sie haben Beziehung, Sie können Modell holen und erhalten die E-Mail des Kunden. – Bizley