我是Laravel的新手。我正在尝试使用Laravel Resource制作API。 以下代码运作良好,
enctype = multipart/form-data
method = post
prefix = tx_form
confirmation = 0
postProcessor {
recipientEmail = someMail
senderEmail = someMail
}
10 = TEXTLINE
10 {
type = text
name = 2
required = required
label {
value = Name:*
}
}
20 = TEXTLINE
20 {
type = text
name = 3
required = required
label {
value = E-Mail-Adresse:*
}
}
30 = TEXTLINE
30 {
type = text
name = 4
required = required
label {
value = Telefon:*
}
}
40 = TEXTLINE
40 {
type = text
name = 5
required = required
label {
value = Firma:*
}
}
50 = TEXTLINE
50 {
type = text
name = 6
required = required
label {
value = Funktion:*
}
}
60 = TEXTLINE
60 {
type = text
name = 8
required = required
label {
value = PLZ:*
}
}
70 = TEXTLINE
70 {
type = text
name = 9
required = required
label {
value = Ort:*
}
}
80 = TEXTAREA
80 {
cols = 40
rows = 5
name = 7
required = required
label {
value = Ihr Anliegen:*
}
}
100 = TEXTBLOCK
100 {
text (
<img style="width:200px; height:auto;" src="/index.php?eID=captcha" />
<input type="text" size=30 name="captchaResponse" value="">
)
}
105 = SUBMIT
105 {
name = 10
type = submit
value = Senden
}
但是当我尝试使用以下内容时,这不起作用,
<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\Resource;
class Word extends Resource
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
return parent::toArray($request);
}
}
显示的错误是,
未定义的索引:word_name
但我的表格中有<?php
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\Resource;
class Word extends Resource
{
/**
* Transform the resource into an array.
*
* @param \Illuminate\Http\Request $request
* @return array
*/
public function toArray($request)
{
return [
'word' => $this->word_name
];
}
}
列。如果有人帮助我,我将不胜感激。
我使用word_name
方法加载资源。
showapi()
答案 0 :(得分:1)
由于您正在将集合传递给Resource,因此无法直接访问Modal的属性。相反,对于资源实例,您将获得一个Collection,从而可以访问collection methods。因此,您可以将资源toArray()
更改为
public function toArray($request)
{
return $this->pluck('word_name')->keyBy(function ($item) {
return 'word';
});
}
答案 1 :(得分:0)
您必须将变量word_name
定义为Word
类的成员。