2015-01-19 9 views
7

मैं अपने मॉडलवाक्पटु खोज/जहां कस्टम पर जिम्मेदार बताते हैं

public function getTouchedAttribute() { ... 

के लिए एक कस्टम विशेषता को जोड़ रहा एक प्रश्न

hasMany()->where('touched', ...) 

में जोड़ना चाहते हैं लेकिन स्पष्ट रूप से इस में एक स्तंभ नहीं है टेबल।

इस व्यवहार को प्राप्त करने का सबसे शानदार तरीका क्या है?

उत्तर

6

कच्चे एसक्यूएल कार्यों के साथ विशेषता की नकल करने के लिए एक विकल्प (और शायद प्रदर्शन के मामले में बेहतर एक) होगा। (उस के साथ तुम्हारी मदद नहीं कर सकता क्योंकि मैं नहीं जानता कि क्या touched करता है)

दूसरी तरह के परिणामस्वरूप संग्रह पर filter उपयोग करने के लिए है:

$collection = Model::all(); 
$filtered = $collection->filter(function($model){ 
    return $model->touched == true; 
}); 
+0

अच्छा। यह अच्छा है। यदि यह एक साधारण एसक्यूएल क्वेरी थी, तो मैंने इसे इस तरह से किया होगा, लेकिन यह कई प्रश्नों और कुछ अन्य चरों का एकीकरण है। – NiRR

संबंधित मुद्दे